EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    2 @% {2 C/ `. |6 n# B9 g
  2. 作者:FlameCyclone
    * K* g0 k. r) C: ^. N) _
  3. 时间:2017.2.12
    / H$ b+ G1 }' v" n

  4. 9 |7 }7 o" A8 ]4 x; G
  5. 按键跳转:  g4 I: n; N4 u& h
  6.         C1EF:95 F5 94 F1
    8 U' D: U9 u9 @$ ]8 }: [: }
  7.         C1EF:20 70 FB EA
    9 M* `( _9 k: \; E
  8. ) X# r8 @4 ]2 F! w
  9. 滚动偏移:
    1 w( l3 m0 O) J% W. d6 l
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 200 O8 b( L& I, x. H  a; e3 L: y
  11.         F936:20 C0 FB EA EA EA EA EA EA EA* J! p0 |1 B- s5 ]
  12. 8 }" D  q8 x9 v8 v5 s! u
  13. 背景调色板:
    2 c+ f* d+ S& s, q/ a$ R( A0 {4 e
  14.         CF20:9D C0 074 `9 p8 J* n/ Y5 `& [
  15.         CF20:20 A0 FB
    5 Z7 p/ u; t" y# p8 s! ]. F# j
  16. " a) G7 Q( b. j1 ]5 N/ A1 O5 m
  17. PPU BANK号:% D% w9 J! h; Q6 s
  18.         C8C9:9D F4 07/ O5 f3 n/ l# _& P# G8 H3 e1 \, d: T
  19.         C8C9:20 B0 FB
    ; e7 Y8 q' u, A- P3 a

  20. 8 y1 T+ ~; G# t
  21. 按键跳转:
    # l+ Y' }0 s& n; J1 K0 E
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20  Q( p7 C1 P  T3 M# i) q" h
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    " H/ e  t. x/ L
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF& g) @( r& N1 n/ c7 @
  25. ) t" Y" l2 E" u: Y& {0 e# S0 m+ f
  26. 背景调色板:
    $ k' N4 u$ x2 ]9 x  _( v
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF# r% y  Y2 N3 b
  28. . m' b+ ?8 c. W# J6 m9 ]4 N
  29. PPU BANK号:
    7 z5 X. C. T' c
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF
    ( t! P' M" I3 Y  d9 d) w$ v2 ?, P

  31. % w" n: p5 b( P
  32. 滚动偏移:
    2 D3 P. Q$ M  [5 ]) r9 A! C5 b
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60& G+ G) J# [& _# F- \  z) |
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF; ?; w1 p- e7 G; p3 f
  35. 3 x  ?  T& J3 v5 t, {. J' E" x$ {
  36.   o. B& I" t/ }9 F) F3 k
  37. 切BANK后A000:
    - T- ^2 W) V. e1 G- 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 FF8 x/ U. u3 b9 Y) U( D

  39. * }1 e1 _5 |" x, k3 C3 B% R
  40. ' D& v' ?! }0 k' Q
  41. 6502 simulator:
    ; C4 Y' F( v. p+ G3 S" Z
  42. PPU写入程序:
    + W  s& E; Z$ {# D. ~! x
  43. .ORG $A000
    , G' c" C0 S) \: v
  44. CSP = $80& M2 A; Y: J4 [  A' l
  45. C0 = $81
      ~  [) q) Z% J' U' i
  46. C1 = $82
    4 R* ?4 Y! P' d" ~
  47. C2 = $832 P9 Z! s% ?  K0 {0 i
  48. C3 = $84' i$ O5 F- _! w! u  x; i
  49. C4 = $85; A) O, u; F* d
  50. C5 = $86$ ?7 d) y4 y9 ~% }  D8 T. F% |4 K: r
  51. C6 = $87
    4 W7 B) V, W3 i) j0 d! A- U
  52. C7 = $88
    6 p' T8 O2 D: L: x% g2 Y* ]" I& l# S
  53. C8 = $895 M3 E$ K, y5 J( q1 p4 j" w
  54. C9 = $8A
    , ]4 u. [% K# f
  55. CA = $8B0 o: y& V3 q9 a0 O; c7 ^
  56. CB = $8C3 k$ F4 x- y+ J% M) n4 ~4 g
  57. CC = $8D
    - _  e' W# d% H2 o4 P
  58. CD = $8E
    $ g! u% F; _! j# h1 W
  59. CE = $8F
    * r1 i: P4 q- ~& K8 @
  60. CF = $90; a3 k0 v% q3 K6 [: K
  61. CG = $91
    * N2 |; m& u3 J) H
  62. CH = $92& i+ e$ s  H  v% M# G
  63. CI = $93
    ; {/ V) v: K: F1 D
  64. CJ = $945 T3 A! {( B( _
  65. CK = $95
    ) `, Q, k5 U0 m) Z0 y
  66. CL = $96( c/ C# F7 U" K* k  c& _
  67. CM = $97' Z6 d# ?9 ~# m8 f# a
  68. CN = $98  z/ F! U$ B1 k, {6 R: C) j: y
  69. CO = $99
    # P' \  U' k6 [4 U! D; ?
  70. CP = $9A: h% o) C0 t# E  }6 z1 m
  71. CQ = $9B4 a4 p! M1 e: |
  72. CR = $9C
    ! v2 `) G+ l( G) L. W& T
  73. CS = $9D/ k" e- `0 P7 ?8 J; q8 J
  74. CT = $9E! c) S/ p+ G# X. K/ w
  75. CU = $9F
    + B# D" H6 S4 a2 m# R2 J0 R
  76. CV = $A0
    * x' J7 W. ~' i% D! P
  77. CW = $A1
    9 g2 \( d0 x9 Y6 O9 d; R
  78. CX = $A2
    1 G+ q. V1 H* }' h; V
  79. CY = $A3# G- R3 b6 l& v0 m0 p4 Y- o; }% b0 l
  80. CZ = $A4. Z5 K" @. L' V# x0 m% \* j
  81. CEND = $FF
    9 k" h( t. C) T  Z) J* K9 _

  82. ) D2 x/ R$ _$ d6 J

  83. ) R3 j* l) E* y5 K* Z
  84. CMP_RE:
    8 E8 a/ j# I/ ~) N: u) `" q3 w
  85. LDA $FF; D) ]0 r9 T3 E8 F/ u
  86. AND #$7F" Y4 L# z- T1 C2 Z
  87. STA $2000/ \- \8 e# Z) q* z
  88. LDA $2002% E) W2 U4 V! @) i4 a8 t+ ]6 o
  89. LDA $257 L! ~, B! E0 ^$ ?* E
  90. CMP #$01
    ) Z% E6 r$ ?7 E1 ~+ ^9 V3 U' C
  91. BNE PROREG+ \2 A, i" p! s0 I3 P5 Q% B9 T0 b
  92. LDA $F5,X! f* q8 {  e: {( ~3 f+ [: j
  93. AND #$CF+ f4 y  Q# I8 P  K" Q
  94. BEQ PROREG# J, ?3 s+ l# ^; u
  95. JSR PPU_CMP
    3 s$ ~9 {9 @4 o
  96. C_RE:; z$ I6 C* s- c* M
  97. RTS3 s& h: ]3 D5 u, v* y, @. j
  98. PROREG:# |$ I: f, D/ B6 J" c
  99. PHA* f' R6 I; [  T1 Y, \& O  Q
  100. TXA& e3 t- o) H/ H  t! z1 M
  101. PHA
    : X2 N: h# c2 W* w9 j6 K( o4 W, [0 N5 V
  102. TYA
    $ M: [. V3 U% G/ L! Y
  103. PHA1 x3 H1 d1 `; T4 c  K7 [( x# _: F
  104. LDA $25
    2 c3 P( `* y$ T" p
  105. CMP #$01
      i) P) U3 [) p2 @. c0 q+ T
  106. BNE RE
    * q. s- z- c4 R, C3 k  [
  107. LDA $010A/ p; f1 T/ t/ A2 a. L' t' [
  108. CMP #$00
    % k6 t2 E/ T; O, e  C6 I
  109. BEQ P1
    ; G' Q8 Y) \4 J+ Y5 ^

  110. ( e/ k. i1 o. S; I' t2 d2 @
  111. RE:
    * _3 ?- \- h9 ~
  112. JMP PPUWRITE4 C' U/ b# M9 `$ S- k  g  G

  113. ! }9 J; a9 u7 w7 R
  114. P1:                ; 条件判断
    ) G8 c3 W9 h+ L: @
  115. LDA $7FFF
    - W/ C( [4 N2 a
  116. CMP #$FF4 W1 `9 J  Q- A; U8 W! C6 m
  117. BNE P1RP
    : C# N' b" v- N& G. u7 y) z, o+ W+ d
  118. LDA $7FA0. U- k/ v. n1 n! }! ?+ u
  119. CMP #$00
    9 v$ D; R5 d2 k' |3 f
  120. BNE P1CMP
    5 e! z$ ?8 T" S6 D) w
  121. LDA #$FF
    - `. d) _, p2 J& A6 F5 T: I
  122. STA $7FA0+ M$ K. B+ S; ]3 V: z2 v
  123. JSR CLEANA
    . n5 ]2 u  w6 s8 p" P. i% v8 K1 P( t
  124. JMP PPUWRITE% T8 N& h" X8 |* ~& p* D
  125. P1CMP:
    - [8 _7 M7 @+ N
  126. LDA $7FFF
    ( l; ^1 @( p1 ^
  127. CMP #$00
    7 j! L3 r1 O9 C6 R
  128. BNE RE3 k- B% V4 v# L
  129. P1RP:) F% D2 k; A8 v; F2 L
  130. LDA $2002: T8 C  k1 d4 E9 x5 d3 s- Q; E  N
  131. LDA #$00
    4 b( [7 |: D! {& `$ W
  132. STA $2001
    % u! `: d; h8 @/ i2 u
  133. LDX #$00% ?" R% e7 n3 r3 @. P
  134. LDA #$FF$ V7 k9 B; |" P2 U' o
  135. STA $7FFF
    4 ^9 ?. P8 T3 e# e
  136. STA $7FA0( |2 Y; W4 x' v  `/ z$ h
  137. JSR COPYPPU/ t1 u6 d" n0 C8 ^
  138. PIRP2:. D; y. @1 g) o0 q8 {  g6 a
  139. JSR CLEANA
    * `5 R2 j  Y- z2 i1 Z& ?9 F
  140. JMP PPUWRITE
    ! R7 v, w8 a$ y1 k

  141. / F# h3 k3 J/ N8 d% p3 B, `2 R
  142. COPYPPU:
    / {+ a1 e: ?) z; ^5 ~6 t; E
  143. LDA $FE
    8 E0 h! U8 P: b$ \
  144. STA $7F50& @7 }% \- h' b% Y
  145. LDA #$08
    / g. I- ?' U' ]0 ?% a: E
  146. STA $FE! W6 r4 Q$ g5 q) G, G, t
  147. L0:
    & h5 y. x. P/ q5 p9 Q$ j3 S
  148. LDX #$00
    ; |0 G6 w7 r: }
  149. COPY_07C0_07DF:
    9 ~( m+ I! [' z8 d$ u5 s
  150. LDA $07C0,X
    ! @/ M1 M. |0 x3 q, S; v
  151. STA $7F00,X
    / b" w8 X# m# i4 p  C, u! B
  152. INX
    5 M0 g1 S1 S( U3 ^$ d) Q
  153. CPX #$40) m! n+ X7 U9 t8 I
  154. BCC COPY_07C0_07DF
    ' k1 x" L$ y3 ^6 f8 J/ z
  155. LDX #$00: R0 z& H5 e7 h+ u$ M+ Y
  156. PPU_07F4_07F7:
      y+ G% U5 b& M& p2 C
  157. LDA #$00; {% J/ e0 @9 V9 J( l' p
  158. STA $07F4,X
    7 v9 w9 W2 s5 S% m4 W% A7 i" u
  159. INX
    / Q  A# s7 J0 U
  160. CPX #$044 k# n8 Q) f; J# f% Q) s+ ^( ~, d
  161. BCC PPU_07F4_07F7
    ) M$ a/ S  O0 z! {' F
  162. LDX #$00/ k  ~0 N. H$ [" ]: ]% J
  163. COLOR:
    % {& `$ r( ?2 G
  164. LDA COLOR_DATA,X
    , x! ~4 S: u" L) R+ b& q
  165. STA $07C0,X: ?- a/ s4 s( F+ s
  166. INX
    ( ^* s. D" L3 b, B; [
  167. CPX #$10
    ! }5 ?* O' V4 G4 f
  168. BCC COLOR# j# N1 k( n( f$ _# b5 y1 ?7 `9 P

  169. 4 T- R3 l" I2 [
  170. PPU_COLOR:
    ' W0 D& D- A7 f% X# c
  171. LDA #$3F- J' n+ A( |; t9 f" p; S
  172. STA $2006
    / `# l; m; D% }8 T: H& Y5 b6 C) k
  173. LDA #$00: D! [7 u5 ]% a7 K% ^8 M
  174. STA $2006
    / d9 A- B# z8 v  \2 k- G" r
  175. LDX #$00( ^) R) r- e8 q6 W
  176. PPU_COLOR_W:% h" ~7 y9 o6 l
  177. LDA COLOR_DATA,X) O$ j4 e, X) ^1 e" ~, Q
  178. STA $2007
    ; B8 a& E3 A1 A8 R% f2 j; E' H
  179. INX
    : F9 f! g5 v4 E
  180. CPX #$105 [( c: O9 l# E/ Y! V; X
  181. BCC PPU_COLOR_W
    - T4 R# A# q% C! `  r6 S
  182. - f" J: ]& X. \1 \: z! d2 Z
  183. . b! c" b5 S* t  H" j  s, P) s
  184. LDX #$00
    & `0 h' R5 m& l5 k' ]3 t4 ~
  185. LDY #$00
    5 q7 a% v% N* K1 C( U# x1 z
  186. LDA $BD
    7 j' O- a. O6 J: I& @: M
  187. PHA  B8 d7 \0 e9 `1 g3 B
  188. LDA $BC
    . S4 R3 p. ^$ c5 }
  189. PHA
    , R) s  c- n. |2 r& Z% O3 p% \
  190. LDA $BB: Z. {) @( Y; d. D& q9 R4 c0 c
  191. PHA! {: A( }7 T" V+ \* }
  192. LDA $BA
    - I0 h5 P# y$ Q' V) q
  193. PHA5 \2 s0 h5 T5 [8 s# A9 U2 e+ S4 B* @8 T
  194. LDA $B9
      Z( ?$ ?- C. I. d+ O7 P# J9 Y. L
  195. PHA' W; E3 y" ~" J5 |; e+ T9 c
  196. LDA $B8/ K2 W2 |0 V+ N- U* e+ U* O0 d
  197. PHA
    $ e' d+ I% l- e9 ]. \% Z! v
  198. LDA #$00
    / w7 {5 n; j' ~. w" V* t
  199. STA $B8
    & u4 K- z6 X; i& |/ I
  200. STA $B9+ H5 l- |& s, K  _8 R1 _7 f
  201. STA $BA
    - P+ ~, i4 q9 _( G4 ]0 U
  202. STA $BB3 @1 _/ G$ P- ~7 Z# W
  203. STA $BC! a' b( n2 c1 M& c3 g3 C
  204. STA $BD0 ?4 v* Z6 R) e* B$ ^/ D
  205. LDA #$00
    + U. W8 Z# q* n+ y! q
  206. STA $BA$ W( }- F) T+ }/ J) k, p
  207. LDA #$20
    4 E. W9 Z6 g: B; O8 }5 Z
  208. STA $BB+ ]3 H  M0 N$ K
  209. LDA #$00, M, B4 s: `$ M' \: S0 O2 n7 E
  210. STA $BC0 q% t. A. f/ _1 B7 \9 x& ?5 {! M
  211. LDA #$60. v+ `# U! q1 n" K/ @& ?
  212. STA $BD$ @* ^: N4 ^# y5 x) l' m* l
  213. ) }0 l5 z( O- x! X' {  O
  214. L1:                ; PPU复制
    ; I5 j$ j, n& N) C
  215. LDA $BB
    ! h; G% p2 r! ]6 P4 M
  216. CMP #$28
    8 ]1 S# b6 W& `* q2 X+ X) @% k1 q7 ]
  217. BNE L2, b/ n, l* l  a2 F! |/ \
  218. LDA $BA
    , m% Q- r0 Y- g' g4 j2 s5 N
  219. CMP #$001 m7 e- N5 m0 J' S" t5 k
  220. BEQ PROADPLA
    * J5 p7 y9 r( _: n7 }* l; _# [

  221. 8 W1 _/ c7 N) g2 Y* ]
  222. L2:
    . K0 }" F& a* K
  223. LDA $BB
      r7 n0 i& j5 ]6 H% P4 T
  224. STA $2006# A, l) y  l; m  o
  225. LDA $BA! ?% }* T& w5 H- u' W
  226. STA $2006& I! d( w$ y' V) M
  227.   h: F$ r# J; ]0 F
  228. L3:
    9 M: m4 {  W- m7 x* f" y
  229. LDA $2007
    5 {0 H: E7 ^" V$ `2 w
  230. LDA $2007
    9 Z0 o; Z6 m( x+ f" M( D
  231. STA ($BC),Y" `$ s4 i- C9 S- I* e& Y9 f0 b
  232. : z/ c6 R2 K: l3 x2 Z: U
  233. L4:
    0 Q( s6 G7 U, i9 [+ c0 K
  234. LDA #$00" w6 K; ?# F! ^
  235. STA $2000
    9 H5 \* I* \7 l
  236. INX
    % k8 O, ]0 U# r6 [
  237. INC $BA
    * q+ ]- i1 X& z8 w& l$ ]# [9 F
  238. INC $BC" O* y6 N( n( k, D$ Y8 y6 y% \! r
  239. CPX #$00. G1 _8 g6 F& b' L* s9 h
  240. BNE L1
    " v" k6 l& f" d3 v/ ?" j
  241. INC $BB
    # w! @# \- ?! S! Y  F% ?: R
  242. INC $BD! y  v( n) f* q3 Z5 L5 w- z% l
  243. JMP L1+ Z+ e2 v' \2 h6 z
  244. : X+ @$ h9 ?/ V8 N. z+ @
  245. PROADPLA:                ;出栈
    # u3 y9 s0 J" t' l
  246. PLA
    8 Y8 r' n0 F4 `& b9 w7 U, X
  247. STA $B8
    # i2 t$ J; ^) p
  248. PLA
    4 j$ k4 F% f7 v& A6 ~& j8 X) G1 A
  249. STA $B9
    & h# W. l, U/ K$ a  c" F1 w
  250. PLA
    % m/ B. m/ B) s0 j2 K  |
  251. STA $BA
    $ p' Z# m4 j0 D+ q: r8 N8 D+ H
  252. PLA% W' W/ ]7 l! G! I- c8 M
  253. STA $BB3 `* o7 F( I/ w4 [& [1 ~; I0 @0 ]
  254. PLA+ q( i, d! O6 V; A' d
  255. STA $BC
    " Q( c4 e4 \) q
  256. PLA
    ! y6 _- {/ O. G! P% ?$ d6 T
  257. STA $BD$ ^1 u" i2 C4 n1 T
  258. CPRE:
    : C" x& D+ T. l" t' R) z
  259. RTS
    9 J; _+ u" x4 O2 w+ j. ?. e+ ]

  260. ) u3 H/ d7 G8 Z
  261. CLEANA:                ; PPU清空
    " q. J, u. ~+ C
  262. LDA $BD. q9 J0 @: a/ W  C9 ~
  263. PHA2 y' [5 `0 u; w4 a
  264. LDA $BC2 \4 ^; _5 v' w
  265. PHA" O$ G5 b5 {& x. A2 b  Z
  266. LDA $BB
    ! N9 b$ ^1 G7 }4 `. T3 D9 O
  267. PHA% }& \! b# H& N6 ^% K
  268. LDA $BA& T2 l7 d4 m0 |" k
  269. PHA
    ) F& z% I: o$ r. L# J% ~  p. z
  270. LDA $B9
    ' ~) U$ G3 M  S( T0 W" B
  271. PHA
    / }; k! e% Y5 K+ P
  272. LDA $B8
    8 z7 ?* p3 d! h8 F
  273. PHA. f5 K3 z4 Y* G) G4 g# ^5 I( |8 j3 n! c
  274. LDA #$00! q3 I! d- E$ r9 ~
  275. STA $B8
    * d1 t, k# m2 s$ v/ h$ [7 n
  276. STA $B9  a. ~1 j$ Y4 e. A* k  ?2 `
  277. STA $BA
    + [7 E7 @  w1 U/ G! x# H/ I8 l
  278. STA $BB4 K& C% c% s2 V6 U; K2 f2 [7 ?; |
  279. STA $BC
    0 G* V" n" h( F5 A
  280. STA $BD, O: {, H- N0 m* W
  281. STA $2001
    ' Z& l" ~7 H  G; _+ F5 ]9 r: ?
  282. LDX #$000 x$ a  W, I- y. S
  283. LDY #$00
    6 l9 K/ _+ r3 L8 e- H6 t2 S
  284. LDA #$003 B/ V0 @8 m6 E% L3 u# e% u: n
  285. STA $BA
    $ g9 ^$ G% s7 _5 j
  286. LDA #$20" e4 x6 ^/ c9 H, _. e
  287. STA $BB
    # m+ p( V3 w) p: b5 A3 m

  288. , X# q' a) e, d: K, E0 K
  289. CL1:+ r& w( ]/ @/ h+ \* A, n  a
  290. LDA $BB! {' a$ h. O- q  |
  291. CMP #$286 e* Z: T, }1 [+ ~  ]
  292. BNE CL24 C4 u" \2 @  b; N( e
  293. LDA $BA
    / q, J' I- T- w0 S9 U# ^5 D
  294. CMP #$00" c2 u3 x! W' W, [  I
  295. BEQ FREEWRIYE* j9 [4 F# O3 M8 _

  296. ' L- a" h% G- p' Y! }' w( ]' }
  297. CL2:
    1 e5 e' t; R/ i! O% D9 h& f
  298. LDA $BB
      m: Q: _4 W" F* e9 c1 `
  299. STA $2006
    ; ?  n  h! ~$ M. `. X; T2 E6 O$ V
  300. LDA $BA
    5 E9 d: H( E- c: q# V7 Q+ ~
  301. STA $20069 N6 J4 w$ r' [
  302. + l# W% D2 \2 Q. D
  303. CL3:# A4 i* u$ k  k0 k3 x# \1 l, U
  304. LDA #$00# F2 \- |6 N8 ]2 r+ @3 M9 O/ Y
  305. STA $2007$ [' s4 a- q; W7 L
  306. 8 J- y7 v: v% l
  307. CL4:% |6 `: W8 O2 B' @  ]. y
  308. LDA #$00
    & n% }7 ]/ n, J8 A' Y& z
  309. STA $2000
    ) p; y7 w6 R8 [* E0 U' ~
  310. INX* W- Q8 h9 E* ]4 L  F4 W  F/ ?1 E
  311. INC $BA
    # T/ ^* {7 l) s6 V8 R
  312. CPX #$00
    6 s2 m$ g" f0 t& [* \" n& }
  313. BNE CL1
    5 X5 F+ o/ e. J+ }) h
  314. INC $BB
    ! v+ q  i, E8 G
  315. JMP CL1 , [- u+ u5 e1 z$ p' c- D; j
  316. " O4 }; q2 W# N9 e. l( R
  317. $ Q% l) c  ^2 F7 g4 a' D) G' ?
  318. FREEWRIYE:9 g0 n: s: I) o* c' P5 P3 o7 O
  319.   e) s* I0 F  W1 h+ r6 {5 ?
  320. NOP
    ( }* Z0 F2 x  ~: W9 Y7 ]% X% A# O
  321. 3 G0 y# n9 M6 |6 Z( r& C

  322. ( @5 E/ |. J- y5 O2 ?- u! F
  323. 5 n# j8 V9 B0 O- u# R
  324. $ Q. m0 j" ]; E8 f0 Z

  325. ( K' @$ o! C4 h$ ?3 H& e
  326. CLEANF:                ; 恢复现场
    1 w4 _9 K! ~7 E1 k, u
  327. * Y# a# s$ S- i0 t
  328. PLA
    7 F* q& P, C1 q' j; y* Z5 n
  329. STA $B84 \7 f% T, e' ~( k
  330. PLA
    7 N; C+ i: t0 `4 W6 c7 {+ [# f4 K
  331. STA $B9' O& m. h% v7 f1 Z$ `! P) ^
  332. PLA
    5 c6 w! l3 s/ n' v& x9 U( G/ ^
  333. STA $BA6 Q& P  J: i. U- Y+ ?" `
  334. PLA" V1 X1 s; ^7 {/ r3 n
  335. STA $BB
    # K$ ?9 q) E! X5 @1 S8 s
  336. PLA
    ' U/ H, {' y. v6 e! f( }
  337. STA $BC
    & s4 z" g1 Z# e) T" h8 M
  338. PLA1 [8 w+ P5 ~6 n0 L9 h$ p0 e9 J
  339. STA $BD8 o/ v" N* i0 [
  340. CLRF:, U# V7 k/ @* B6 }( G$ l
  341. JSR FREE_PPU
    1 o4 l$ |& ]* ~0 }. G
  342. RTS/ U  }. N0 G) W

  343. - Q# ^$ c! I7 N/ Z
  344. & O) Q+ h+ E  i
  345. PPUWRITE:    ;PPU写回$ h6 ?. }6 C$ `5 a! H: O% k+ f
  346. PLA7 H9 S4 v: Q# l5 w2 ]5 k0 ^
  347. TAY3 S6 R8 v& Z6 W
  348. PLA
    * G) u, {' N1 ?4 c+ l
  349. TAX: G4 x1 E4 l/ t
  350. PLA
    4 Q4 G  q3 @; j
  351. LDA $251 ~# z; d6 M, W2 J5 E, R
  352. CMP #$00+ M5 E) [1 Y4 m2 D( s6 t0 z% z
  353. BEQ WP1# i9 P8 a7 H- I' S1 ^; t( i
  354. LDA $25+ F9 r+ T; ]) p- ]# _
  355. CMP #$01% O% E! F8 L. ]/ A% P
  356. BNE WRE
    ( \- Y5 C* d) L3 B7 K6 U
  357. LDA $F5,X
    + l: F& \  d5 f) F- C
  358. AND #$EF
    0 x$ O2 h- P/ E5 ^# J. F8 d
  359. BEQ WRE
    : T; @, l) S  B8 D2 M4 Z
  360. LDA #$00
    * K" V* L* k" v2 S8 `
  361. STA $7FA0$ C. Q% X4 K' I5 c
  362. 5 j% K2 H. W, X: P
  363. WRE:
    $ `$ p6 F, N) W6 r8 ~; h
  364. RTS
    0 ^# |( P+ f  N7 c
  365. & M; T! J' T1 R
  366. WP1:) D( ^; w; c' |3 B# _* k5 ^6 o
  367. LDA $7FFF
    ! i* f% Q) b# B  I. v
  368. CMP #$FF( R5 T7 R/ k) q+ h/ Q* X% L
  369. BNE WRE
    - c1 L- M( _' g- x# \  `
  370. LDA #$005 g/ q8 P6 m1 B5 b6 [
  371. STA $2001/ n8 _4 [7 O5 n, `0 _9 {1 o" t$ B) \9 i
  372. LDA $BD
    . x+ l% O1 v. r" a/ A4 ^
  373. PHA6 a, z5 C! w) }. O6 s  J
  374. LDA $BC: E' }3 p1 N+ q0 C6 @' D- q6 j( @1 a  @
  375. PHA  F3 N7 V+ E, Q0 {6 Q/ ^6 U- h
  376. LDA $BB
    * M; b: x5 z- m& b' {9 T) p( u
  377. PHA
      c  m2 R0 S" g- E: T5 @
  378. LDA $BA/ U4 a6 S0 C5 [# E5 r! O
  379. PHA
    ) T. @, {0 o/ }3 b1 j& J4 Q3 a
  380. LDA $B9/ h" C8 B. z7 b+ T; e8 M: V
  381. PHA
    ' W: Z! D3 p$ o) ~: k6 b$ T' P# \
  382. LDA $B8* s9 B) D& A+ ~
  383. PHA
    ' P- f, C( G: l) c/ q
  384. LDA #$00
    ( v7 H" S' n1 M0 i$ m; W
  385. STA $B8
    2 O$ z8 r" O( Q# B! d4 M' Y
  386. STA $B9
    & U8 n3 y* |; h# K- N) i
  387. STA $BA. m# s) A4 N# Z3 h$ U
  388. STA $BB7 O" R" Q" G/ R
  389. STA $BC1 d  @" _' M4 f; ~9 H# i
  390. STA $BD# J4 o% [% k# U* U7 s) b+ J
  391. LDA #$00; t! i" o& m( L: B/ s1 {% S! M
  392. STA $7FFF+ A# d4 a% H0 y6 J

  393. : V2 @3 p5 l7 ^
  394. WL0:; Z& |: t4 X- [# Y% R( B6 ^
  395. LDX #$00
    2 l: i# l( u3 l/ t4 E
  396. LDY #$00
    1 Z/ A' v; |. m
  397. LDA #$00
    ' q2 v0 y0 f- }3 m! ?( ^3 X0 }" k
  398. STA $BA
    , b, A* Q  Z! m; F- H( I
  399. LDA #$20
    7 ~8 }  P6 j8 [: M7 d5 c
  400. STA $BB
    - G4 V, U" Q9 L
  401. LDA #$00
    + c9 C: f* q/ v/ T" H
  402. STA $BC
    # J' W% r" h) I1 d
  403. LDA #$609 N  M/ M: O* |7 ^- [- t- M
  404. STA $BD; y, [" z' p% z4 V
  405. ( m0 ]: B8 ~# R
  406. WL1:
    : ]! C- T! z5 c/ ^! K0 O- d( q$ {
  407. LDA $BD* c  K+ G, f$ @8 i% W) @* k
  408. CMP #$68, g& }5 ~/ w& G' f% w, N' D. J4 J* i
  409. BNE WL2
    & Z+ \# Y9 \. l
  410. LDA $BC
    & C5 y/ D* J, K+ J$ m. `* \
  411. CMP #$00
    0 J$ J1 s" w& d0 h' D
  412. BEQ WLR
    5 A) P* J7 G1 C: ^& H* @, h0 {
  413. 4 E7 r2 o/ K$ _, X, W& ?  V
  414. WL2:3 Q/ C0 @( \% x$ }* ~
  415. LDA $BD
    1 J& R. Z2 k0 A: G* L, K8 z
  416. STA $2006
    ; U; f6 C6 @% w3 O2 z) }
  417. LDA $BC
    : `; `5 o5 W: O# \
  418. STA $2006
    ; ]4 H! L$ c1 W; {8 c
  419. 9 R- M& I  E. e+ Q" d3 c0 T  P
  420. WL3:: f0 m/ i. S4 B3 J$ k" M9 \& o
  421. LDA ($BC),Y0 W6 H: Z! n5 G9 z
  422. STA $2007$ Y8 e6 t) {0 r# j

  423. + ^" @( J9 g/ h! J# c
  424. WL4:* i  N  v6 r- l: Y
  425. LDA #$00
    * z5 ~. A0 ~6 j' L9 H/ T0 O
  426. STA $2000
    $ V* v. l$ s- P9 E
  427. INX- T) l+ R* @( ?" i7 z2 A" p
  428. INC $BA8 y5 \) G( u7 Z! f  l+ k1 b
  429. INC $BC
    " t" O( k+ d+ D& d- Z
  430. CPX #$00
    2 A, D: t; u3 _" X0 [% J
  431. BNE WL16 T7 Z7 O2 D9 }2 [  z
  432. INC $BB
    ' A( t2 u1 G( W5 ~7 q
  433. INC $BD! h8 i# j4 D  d% T  X
  434. JMP WL1
    " \, G  ]2 j  A1 @, E0 h0 z5 n
  435. 6 H9 L4 t" @: w9 K/ J" Q
  436. WLR:4 q3 _/ U: x. _' H1 ]- j: O( l# A
  437. LDX #$00
    $ C% b) H* ]( X5 K" E
  438. COPY_7F00_7F3F:
    / X, {$ _8 x! m  S2 R4 O# [
  439. LDA $7F00,X
      |7 _- |/ [! }/ @
  440. STA $07C0,X1 a! q" S$ J: z4 y7 z& P5 ?3 t
  441. INX) V, ~9 G9 B+ \4 }! }
  442. CPX #$404 b5 M* a" \# p5 m" |* x3 q9 Z% s* F
  443. BCC COPY_7F00_7F3F" \6 f6 O6 N$ z4 Q  ?
  444. 8 O+ Y* r4 F: o  l8 V4 n2 w
  445. LDX #$00
    7 m# e+ r5 o! A* u
  446. LDA #$3F
    ) @4 R: k. w/ z% E
  447. STA $2006  ^4 P0 B  l8 R: m. h( S
  448. LDA #$00! z9 u; G4 d% Q  L( x4 v
  449. STA $2006
    $ |  y  Q, B& e
  450. COPY_7F00_7F10:
    # a$ \/ T, b- Y
  451. LDA $7C0,X
    " X% F0 w7 v- Y4 v2 n
  452. STA $2007& f5 D5 g/ X$ E1 g; C# ?4 u
  453. INX
    2 o; `2 q: V5 \2 m: `& V) p
  454. CPX #$10
    % i  F4 @0 p6 x( @/ B# b2 r$ s. H
  455. BCC COPY_7F00_7F102 l  v, L  X& f  b  c$ K9 t

  456. ! A7 a) ?. l/ p( ~5 L6 |( g1 y& R
  457. LDA $2002
    9 q& C) M& o4 `- u9 Z, l9 ?
  458. LDA $FD
    8 M+ h& k+ @1 ~; T7 e0 T# n
  459. STA $2005' C6 t0 h' L+ v5 [
  460. LDA $FC
      m$ e9 ^; L  r! X
  461. STA $2005
    6 [. Z+ E2 K2 M3 _

  462. ; u6 G4 m9 e8 b/ H6 u: B5 Y
  463. LDA $7F500 T. Q5 V2 t+ p3 L
  464. STA $FE
    6 a7 C5 @4 Y- g8 Y; I  L7 b) I1 ]
  465. LDA #$00
      B- o, u9 {% P/ ?+ l
  466. STA $20000 I1 @& e7 s* Z
  467. PLA
    6 m* I. R: [: r
  468. STA $B8
    % x( X8 i, ?" j2 w* B  P
  469. PLA
    3 [1 y  S, a7 c0 m6 ]& N- c
  470. STA $B9
    # @$ _6 ~! D% g: G
  471. PLA4 R- m7 V/ I% v- _" y. y- d+ P
  472. STA $BA
      @& f7 J  |* v8 N- e9 P9 A9 ?, b
  473. PLA
    2 Z& B7 A2 m) H. A  }# P) W
  474. STA $BB+ O) c3 }( W2 I' ^
  475. PLA
    , D# e& ~. c% R9 V
  476. STA $BC8 z% O; o2 B" q1 h# R4 D
  477. PLA
    & r0 g( r* T8 J1 J% g0 v: l5 d
  478. STA $BD" O3 ~4 u3 Q' c5 o- h  ~! r* d

  479. * _+ \2 x. {) J
  480. RTS* u9 N' @- m8 a' Q$ E0 m
  481. 4 z. q3 y: A1 y) h+ u" {* m- e2 B
  482. PPU_CMP:. i, a( Y5 ^4 d0 q8 A
  483. - ?1 J) h. X* h% L0 p( y7 A1 _6 {
  484. 4 e! u$ |9 g) ^% D$ \, m
  485. PPURE:
    - x  \7 n: e+ r, I2 `
  486. RTS+ J, u4 z1 x2 K) m- Z

  487. ) Z" N4 Q) l5 [$ g: y6 ^
  488. ( G# H, O0 m6 B1 `/ W
  489. FREE_PPU:, G% z  R! s- z. _6 U' n( v
  490. * `) C/ ~" i" k6 e, e
  491. JSR TEXT01_PPU
    0 F, V7 q" @* e+ _" V& v6 h
  492. JSR $CBC0- p6 T& m7 u8 g& B6 C  C' E5 G: M
  493. JSR P1_PPU: O. R; v/ D" G4 Q6 C( E, r5 a
  494. JSR P2_PPU
    . @! @" A! B' x: D9 `' X
  495. RTS  k' ]1 H) y2 m+ d' T

  496. $ g; T, L2 O4 f0 @8 q% S
  497. TEXT01_ADDR:
    7 N# j  A' T) ~2 ]
  498. .BYTE $20,$42
    # X$ k3 s1 O) a, @' ^3 v; E. U
  499. TEXT01_DATA:$ F: T, `* [0 @" j: l# _3 G5 W
  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
    ( [+ K, F& q( {6 y3 \3 k
  501. TEXT01_PPU
    ( ^! Y  R" B  {' X0 ~
  502. LDX #$003 z2 x) \" v7 n( h6 i
  503. LDA TEXT01_ADDR
    1 p9 ?9 z5 L6 Q9 p% G
  504. STA $0703
    ) R+ @* f% D: n3 X
  505. INX
    7 j7 m( z# w# ^9 \/ ~/ B+ o
  506. LDA TEXT01_ADDR,X
    8 l/ ^6 D  C# l9 D
  507. STA $0704
    3 G( y% B/ p9 h& G, y, X( n7 j
  508. JSR PPU_PROCESS
    3 t# P' r: D+ |) K+ K% n' ~5 c* m/ u
  509. TEXT01_W:* g* J  l8 U& _& B0 o
  510. LDA TEXT01_DATA,X
    $ u  ]" w0 s1 t4 s7 C( f
  511. CMP #CEND% H5 a& T5 p2 j- R
  512. BEQ TEXT01_START
    9 z9 I: A7 a8 B: ~% u- w- o
  513. STA $0705,X
    5 y' Z' z7 u3 H% n3 \* X
  514. INX% p/ }; m# |; ^1 M# M. I
  515. LDA #$00% B7 E% v- z! d: \  e+ w1 `
  516. BEQ TEXT01_W
    * X! l' }$ J: x+ w% X& a3 V: a
  517. TEXT01_START:, N, w" ^5 \3 D3 N0 i& d% @
  518. JSR PPU_START
    # z+ a8 a# e& W! N5 R( t2 I/ L
  519. RTS+ o2 O! G0 G% r  }: N
  520. % J9 f4 g/ {, ]$ Q+ z5 n
  521. " D6 R7 h) ]6 X  G
  522. COLOR_DATA:! |' ~, |4 X2 s5 G" P* e
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    8 c+ X; a3 B/ h) f# X  g

  524. 1 ]5 |$ b5 T$ U: Q& X
  525. P1_PPU:' N: A; [) _* |; C$ |. z5 Q
  526. JSR PLAYER_01_PPU
    - d5 c' k- D/ z+ O
  527. JSR $CBC0
    ! O; U2 o5 L, Z/ ^$ V0 T; ^5 S- g' y
  528. JSR RELIFE_P1_PPU, g; v" a# T" I1 B- k
  529. JSR $CBC0: G. Z) [5 a+ K5 ]  s+ T, {$ V
  530. JSR RELIFE_NUMBER_P1_PPU% s2 ]& Z3 V* k, y- `
  531. JSR $CBC04 {6 Q) m6 u% Z6 j; }
  532. JSR WEAPON_P1_PPU
    " e+ k7 R1 D; h8 S, b" m( f( o: A
  533. JSR $CBC0
    9 Q! r% h( Z1 }. }9 C* _) B
  534. JSR BULLETPPU_P1_PPU
    . h# x: q, l- U- \+ _; \, q
  535. JSR $CBC0
    ; w7 y( a; @$ @- y% j) m4 I
  536. RTS4 y& C5 B1 s. Y# y% n% o

  537. ! ]  ~) u0 U6 l: H' X& J
  538. P2_PPU:
    % |& a9 ]1 }( r6 q3 t% _* y: `
  539. JSR PLAYER_02_PPU
      `1 m3 f# z/ O: M3 c' L- J
  540. JSR $CBC08 ~' \+ I- {" T+ E
  541. JSR RELIFE_P2_PPU; K: U& g1 I$ y7 T0 ^$ ?1 |; R
  542. JSR $CBC05 ?" ^6 ?  `( H$ w9 n% c) R
  543. JSR RELIFE_NUMBER_P2_PPU/ a' U: f' f! T. z% H& h
  544. JSR $CBC09 y8 {$ v* \! h
  545. JSR WEAPON_P2_PPU
      m& w: Y0 u/ t$ D" _
  546. JSR $CBC05 F. Y6 m2 ^- O! L# M
  547. JSR BULLETPPU_P2_PPU& ^+ z: o9 ?8 J3 G# c
  548. JSR $CBC0
    - c0 o5 e+ d: m2 y3 M' z
  549. RTS
    . U2 Y% S) c, U( h( h
  550. 0 w- Q3 k7 D: ~) g8 k& j
  551. ) T6 I* {0 i6 l* n8 H! w  G+ g2 c

  552. ; `3 C3 {& r: C! o" b
  553. PLAYER_01_ADDR:
    # j+ f$ }( P) w; y. W1 Q+ t
  554. .BYTE $20,$A33 E2 u, ~; V% [
  555. PLAYER_01_DATA:* o. E, `, s9 l1 p' o
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND3 {* |0 }4 j2 W2 L% I9 v% }
  557. PLAYER_01_PPU:
    4 \1 B# B) |  s9 d: N  ~: z# L
  558. LDX #$00% C+ b/ l1 ]/ F' H' ?: Q+ w. L. r
  559. LDA PLAYER_01_ADDR( z% H# T1 Y# x2 {
  560. STA $0703
    ! Y+ P  e) R! A* G" W
  561. INX  o+ H5 y5 F3 S$ D4 N+ n
  562. LDA PLAYER_01_ADDR,X
    ; j6 V! B4 B1 I4 f6 U/ e' s
  563. STA $0704. p" {$ v; U/ I: C3 Q
  564. JSR PPU_PROCESS
    / s" n) w$ I4 I7 {
  565. PLAYER_01_W:7 [% t9 c) n+ o' `5 Q+ }
  566. LDA PLAYER_01_DATA,X: L! ?. |: O* ^; t
  567. CMP #CEND* |( ]3 |) i0 e0 g
  568. BEQ PLAYER_01_START. x( W9 _5 k2 v' e+ w2 [
  569. STA $0705,X
    . M: ?0 R  ~, c" M
  570. INX- _) L- f4 F" h( I$ P
  571. LDA #$008 z. Z* K% N, Q6 n1 }  h" t
  572. BEQ PLAYER_01_W
      z% {. F9 ]1 V" }: b% A, e
  573. PLAYER_01_START:" ~: ~. E  `% ?& |4 K
  574. JSR PPU_START* i4 a$ s" o' h6 H6 w( ]/ ?0 c
  575. RTS
    % ^0 P  ^% Y+ V4 m0 Q
  576. 2 [' M9 ]" R" j1 V  O/ M( t* y& p

  577. ' z% Q+ h0 o: l0 o, d
  578. RELIFE_P1_ADDR:1 }# W. Z5 b8 p% X4 v5 n
  579. .BYTE $20,$E3
    6 V$ n/ M) v- b' G6 B
  580. RELIFE_P1_DATA:* o7 p/ B' E1 Q! d
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND
    1 v  z% ]  Y1 w$ F2 e. F1 f( {1 w
  582. RELIFE_P1_PPU:" G+ J' U2 z% j. Z8 H! z
  583. LDX #$008 o( o9 r3 B. t: n8 f% `; O
  584. LDA RELIFE_P1_ADDR
    , N2 i) q% w; f* b" g* w+ _+ r
  585. STA $0703
    2 {) m1 Y+ `& [+ b( V4 ^
  586. INX
    & A8 t+ D8 S$ g6 ]  a! c# g* {
  587. LDA RELIFE_P1_ADDR,X* \( i. h- h- h
  588. STA $0704) f5 e8 T" i) ^1 D7 V; g" l; y
  589. JSR PPU_PROCESS3 ^5 ^$ T% a; z% }$ G- i( N6 S6 N
  590. RELIFE_P1_W:
    ) b6 Z* D& `0 Y3 o9 S
  591. LDA RELIFE_P1_DATA,X
    ; s& N+ d. f5 H
  592. CMP #CEND9 g; @& m- S" ], \# Y
  593. BEQ RELIFE_P1_START
    + y8 d' {! S- R( k: U
  594. STA $0705,X: ~  |4 B) b7 X/ f8 b- o, y! z
  595. INX
    ; j# f% f( S# ^; q% w% g9 k
  596. LDA #$00
    # `2 g: e4 c" v, C- m0 T/ f
  597. BEQ RELIFE_P1_W( g; b) `3 B6 R- \4 n: D7 I
  598. RELIFE_P1_START:
    ( v& t, K$ {  D% Y
  599. JSR PPU_START
    . w4 _: ^1 ^% `  n) {
  600. RTS. h; i( t1 b6 ]2 W  ^2 [5 ^
  601. % N: l% p: n$ t, l9 k( Q; q
  602. & [4 l9 C! W+ s
  603. RELIFE_NUMBER_P1_ADDR:4 b" S. E$ I" c+ l4 a
  604. .BYTE $20,$EA
    ' y4 q8 z5 W- B5 S, I3 l' a' l% i
  605. RELIFE_NUMBER_P1_PPU:8 L4 s7 n! p( s2 K! W' ~8 E' w
  606. LDX #$009 z% K+ z/ w" R0 Z- }. j
  607. LDA RELIFE_NUMBER_P1_ADDR% T' h. l; L( Y  H. J
  608. STA $0703* u/ D" ?) D% s5 G1 [3 L
  609. INX2 [$ g; p- d! x* D* n
  610. LDA RELIFE_NUMBER_P1_ADDR,X/ V  T- {1 v' h' G9 m: V/ K: W
  611. STA $0704
    # u; ~0 `7 h+ j3 u7 \5 i
  612. JSR PPU_PROCESS
    5 e5 d: V1 n3 \& Y2 m6 L$ _
  613. LDA $32$ N5 g% D% X  m; d9 I% {4 Q
  614. JSR LIFETODEC) D& o& Q8 g. V/ B& D# ~, H6 u5 U4 ?5 v
  615. RELIFE_NUMBER_P1_W:6 n" [$ H! G) N; ]1 f) z7 n
  616. LDA $7A03
    ! U- C$ S- H) v: D& T) o
  617. STA $0705
    ! N4 q$ T- b. p& v( e0 i
  618. INC $0705% ~! Z$ c. J, f: y6 O1 [
  619. LDA $7A049 q  c  o% l/ w8 \) \* J
  620. STA $0706
    # t  H! [0 R9 k- Z8 x3 e1 {% q
  621. INC $0706
    ; y; e4 P' N+ g. f, N# ~% W
  622. LDA $7A05! H/ m5 Z  k" u3 Z5 f/ C
  623. STA $07074 {; ^, W0 D( ~2 D8 Y
  624. INC $0707
    * d6 Q9 m' C5 ~, v  Y( K, `" o
  625. LDX #$03
    1 _2 t4 M# R9 ^0 j9 U1 Y& {/ c
  626. RELIFE_NUMBER_P1_START:
    % p2 H* c' Z/ T) g
  627. JSR PPU_START/ e6 O$ _% O7 f
  628. RTS& {0 S$ |. [' P) u( n+ u' ]- r

  629. # ~/ y3 H& [& ?8 i& P
  630. WEAPON_P1_ADDR:
    , q) _9 E- N" \% ?4 z* b# Z( i
  631. .BYTE $21,$23  p* D4 ^) D3 B# t
  632. WEAPON_P1_DATA:4 ]1 s' E0 p0 S7 j
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND
    & f$ M( V' H/ m; ?8 n4 S
  634. WEAPON_P1_PPU:2 H2 @) p4 P+ D
  635. LDX #$00
    * J' D1 O3 {0 j$ p) J
  636. LDA WEAPON_P1_ADDR- F. x# [& U3 q% y/ k
  637. STA $0703
    . n: D9 z) A! G+ E2 I! C+ ]
  638. INX6 R3 v/ g( B) L, D% \+ \
  639. LDA WEAPON_P1_ADDR,X/ ]1 D- ?4 |# p! H6 l3 I
  640. STA $0704
    & w$ z0 d/ @0 s4 o
  641. JSR PPU_PROCESS1 z9 t) f9 {3 V( B5 c+ T) H0 {& g4 C4 r
  642. WEAPON_P1_W:
    $ k3 T/ n; [! E: ]( ]
  643. LDA WEAPON_P1_DATA,X
    : N% v( J: P! W8 W
  644. CMP #CEND  K, a" ]/ V2 y" d2 O) @1 Z4 E- x
  645. BEQ WEAPON_P1_START( ]% h0 r' G! J& T2 b; y; n% t" Y
  646. STA $0705,X
    & \( h# C- P3 O8 e" }& h
  647. INX
    , J- s% F& `" r! k& J% [
  648. LDA #$00
    # h* D6 ^/ _  P0 Z* J  ^
  649. BEQ WEAPON_P1_W
    . q# `3 J2 s( g
  650. WEAPON_P1_START:
      O5 K6 f: a! A7 G& |7 ^4 E
  651. JSR PPU_START
    " @- O3 T4 C$ I9 z. i
  652. RTS# P0 g4 l1 B: n* b
  653. ! x+ W6 |) |# L+ v5 y7 i* q8 c
  654. BULLET_P1_ADDR:
    . V! P: s  {+ p
  655. .BYTE $21,$2A) D8 }) n( r! f" U8 s; h" W6 Q
  656. BULLET_P1_DATA:, O' L5 n" k# Q
  657. .BYTE $00,$01,$02,$03,$046 C% j8 J, ?5 F0 y1 k# P
  658. BULLET_P1_NAME:- p5 A( D0 h4 B2 S4 X! n+ D- q
  659. .BYTE CN,CM,CF,CS,CL
      F% }4 ^6 U( o' e5 w% }; D' @# Z

  660. 3 N% L. l9 [$ ^4 _1 j: X
  661. BULLETPPU_P1_PPU:
    ( U2 Y9 i/ g3 [4 N7 t
  662. LDX #$00
    0 t5 e7 L% g2 i. P* g' [" ]; T* ?
  663. LDA BULLET_P1_ADDR
    5 F; ^0 O( a, ?4 F: e7 Q
  664. STA $07034 h* |: w7 m$ K+ ^. N/ g& o1 R
  665. INX2 o% v+ p3 Y. s1 U+ r0 t
  666. LDA BULLET_P1_ADDR,X
    - f' {. F  f  v( `  ~
  667. STA $0704
    ) {% X7 Z: C* C4 H  F8 Z
  668. JSR PPU_PROCESS7 b, y0 I5 }9 N1 e. _
  669. BULLET_P1_WRITE:
    9 x1 s) y2 u+ \" B
  670. LDX #$00
    9 S  \+ @) l# j4 w* P) C
  671. LDA $AA
    - [; s$ x* X" |  x" |  @. N
  672. AND #$10
    : n8 {* |1 F5 C
  673. BEQ C_BULLET_P1
    % ^" N& d7 P- a& D0 U/ _/ ]
  674. LDA #CS
    ' t. d( K$ ?; f, ~4 P
  675. STA $0705
    & L7 C) }. b6 n. X, o- g9 d
  676. BNE B_NAME_P1
    0 ~' G  N1 I( @2 T% e6 l
  677. C_BULLET_P1:
    ) `, F+ t2 o& {0 v/ h2 y4 W
  678. LDA #CC
    + X3 |# [  J7 D. i
  679. STA $0705
    1 T" m  {$ Y. s9 V0 f
  680. B_NAME_P1:
    1 i8 k, |3 c- w* W$ ]  r, ~' l
  681. LDA $AA
    , i/ h; F+ G8 t3 ~
  682. AND #$0F
    1 t8 c  y) p' V. M' U+ E$ M6 O
  683. CMP BULLET_P1_DATA,X
    3 b) g3 s/ f; m9 u
  684. BNE B_NAME_P1_RECMP
    . R) d$ p8 R" K% }) e
  685. LDA BULLET_P1_NAME,X
    4 R% N; b5 m7 Z- u
  686. STA $0706
    : \2 g+ T6 f8 {7 {" s
  687. B_NAME_P1_RECMP
    ; P- u7 P& Q; d/ }0 X
  688. INX
    3 ]% Y' D/ E! J" c+ E) t' v6 H
  689. CPX #$05: g+ W- \& O# f5 M
  690. BCC B_NAME_P1
    $ `) \$ c. T. I  U8 Z6 m
  691. LDX #$02
    0 Y3 D1 q6 _% {
  692. JSR PPU_START
    # \5 b1 v- p$ A" _! z7 Q5 ?
  693. RTS
    % Z# e0 ]6 l# Z. M6 U
  694. ) r0 Q! N1 o) U7 g
  695. ) n; C8 R" t, t( N/ k4 Q
  696. PLAYER_02_ADDR:9 k. S+ ^3 N( D9 ]! q: t
  697. .BYTE $20,$B3+ [' c! u9 D; F9 Y  W5 w" n4 [+ |
  698. PLAYER_02_DATA:
    : u& _) ], x* \' m% \* ?
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND/ ]5 ], q$ @( m
  700. PLAYER_02_PPU:
    " s* G- W5 P/ j6 F" H: \
  701. LDX #$00
    1 g% `4 |3 c) {% }
  702. LDA PLAYER_02_ADDR
    , ?  }7 g& @  {2 B
  703. STA $0703
    * g$ `  M# p- t$ _% U
  704. INX( i  l) w: D+ [0 D) k( ^
  705. LDA PLAYER_02_ADDR,X
    1 e, |% A+ d; B, O8 ^
  706. STA $0704
    0 }' O0 @, ~, H0 X% U% p* G$ h
  707. JSR PPU_PROCESS
    8 F. n! |' A$ M2 n4 s! B# n- h
  708. PLAYER_02_W:* e, x, Y6 L/ G+ {4 e/ f. d
  709. LDA PLAYER_02_DATA,X1 s5 s% G2 i* b" c. X! r
  710. CMP #CEND
    . p8 X/ x7 v% r, @% K
  711. BEQ PLAYER_02_START1 j$ t! s, d$ ]
  712. STA $0705,X
    , e, W' {8 d# p1 c: W3 G
  713. INX, }4 `2 v: x) Y" ^+ S
  714. LDA #$00
    " J# \0 Z' [4 r: S% `
  715. BEQ PLAYER_02_W
    $ X/ g/ F1 b" g3 T- r
  716. PLAYER_02_START:
    6 N) k9 G- c/ C
  717. JSR PPU_START( p" q: E- U( E" L. V
  718. RTS
    1 Z; ]* t3 X( v
  719. * K5 q- d& J; P% B" C$ s8 u" G" f

  720. % `" ^. X' q: ?) M% |
  721. RELIFE_P2_ADDR:
    1 N* q9 K+ p9 G& L
  722. .BYTE $20,$F3- ?6 Q0 s0 C8 ~( Z% S! c" t
  723. RELIFE_P2_DATA:
    : l7 ^6 N2 z3 Y
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    0 y7 Q% d) q! m  S* p# c! b
  725. RELIFE_P2_PPU:# c: g- k& V( I
  726. LDX #$004 K) k6 d# o2 Q9 u  u# `3 \# g8 a) g
  727. LDA RELIFE_P2_ADDR7 o0 |# [4 k: x* ]3 ]8 H/ e
  728. STA $0703/ a; e6 D' m+ I9 E3 d; q. D
  729. INX
    - T% p7 |% X, K4 T7 n
  730. LDA RELIFE_P2_ADDR,X& l2 c2 s. Z/ G) Q
  731. STA $0704
    # c: G) c1 l' ^  r
  732. JSR PPU_PROCESS
    0 ]8 {( ?# I8 C/ K6 e  |" d' S
  733. RELIFE_P2_W:
    ; P- j7 |- S4 J5 Q7 ?3 B
  734. LDA RELIFE_P2_DATA,X
    ( J% m( {& Z& j
  735. CMP #CEND
    , c3 ^7 Z5 g. S& d: m) e9 }
  736. BEQ RELIFE_P2_START
    & w- S, z5 {1 w8 M
  737. STA $0705,X
    ) R/ l. {& @. Y
  738. INX+ P3 a5 W& B. ~
  739. LDA #$00
    ! \8 Y0 O2 ]  a- c6 c
  740. BEQ RELIFE_P2_W5 b( H+ I, z) Y2 z* ]4 C% m6 S
  741. RELIFE_P2_START:
    9 P* A: D5 m; S; H2 k" Q
  742. JSR PPU_START
      d" b' \. s8 ]- ~
  743. RTS" s. o' N5 P; n/ J1 v6 F" ]
  744. ! l4 g$ o8 l3 D) n0 ]

  745. 1 J- X' N* c) h. _9 U6 t9 ~' y
  746. RELIFE_NUMBER_P2_ADDR:9 G. ?. v- e; \& E. z
  747. .BYTE $20,$FA- `  s" C7 u4 k; a! P
  748. RELIFE_NUMBER_P2_PPU:
    1 b9 }" G4 I: K4 X/ l
  749. LDX #$00
    6 R' o7 |. D! G1 ?- [, F
  750. LDA RELIFE_NUMBER_P2_ADDR
    0 v" b" C) b& V8 Y. c$ X- C& C
  751. STA $0703) s) v4 q1 O! m" }' _) K# K! s
  752. INX
    7 m4 K3 c9 k9 f" H9 \4 M# K$ N1 a
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    % _$ g1 k7 E0 s
  754. STA $0704& K& K4 _. y! ]4 C4 P2 E" n5 h
  755. JSR PPU_PROCESS
    " k; c- f; `7 N; o" U, e1 V( v
  756. LDA $33
    - Q$ x3 A4 y, r; c* T
  757. JSR LIFETODEC
      M- w. E. X! E
  758. RELIFE_NUMBER_P2_W:
    * o. p6 D9 o: h% Q. l# b
  759. LDA $7A03
    & y; e9 l( M$ k
  760. STA $0705' r" K6 d* D" H0 H& I! K
  761. INC $0705& c( l1 }3 N% P- r4 y$ ~! _3 U
  762. LDA $7A04
    ! U- Z9 B+ h4 y9 g6 Z5 b3 M
  763. STA $07061 |7 \6 ]) J& D0 G- h+ r
  764. INC $07062 u/ ^; G6 V8 U* U, S5 V* E
  765. LDA $7A052 U0 V& N' d5 T6 R0 u
  766. STA $0707, A) \' p4 O, p! t
  767. INC $0707
    $ G# ^# v( w* L; i6 r7 O
  768. LDX #$037 ^' i. H8 ~+ \7 d" n. }
  769. RELIFE_NUMBER_P2_START:
      H+ h. W2 g  ^( v. |; g  R
  770. JSR PPU_START4 @) {1 S. N; [. q
  771. RTS
    " G# ?* a2 t! p$ h" L5 f4 E

  772. 7 |' ?. N9 j  T  c3 p
  773. WEAPON_P2_ADDR:
    % _$ ?* ]( F, f* Z" U
  774. .BYTE $21,$33" v  g6 M4 r  R1 ^: H: h
  775. WEAPON_P2_DATA:
    . k; N! I; s' a4 a. J
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND2 `2 @- E, v" @0 S% o
  777. WEAPON_P2_PPU:
    / B4 o3 }# ?* j9 J3 l1 T
  778. LDX #$00
    & K  D0 \/ x) o: c4 S
  779. LDA WEAPON_P2_ADDR
    $ ?8 {* |1 Q9 ], i; L# b1 v2 i
  780. STA $07030 C: h% l* Q& B
  781. INX
    7 e, B9 a: w1 T  ~9 n' ^! v0 j
  782. LDA WEAPON_P2_ADDR,X9 {) p) W# m: _" A4 `6 u8 D
  783. STA $0704
    1 @+ u. h' t9 y/ k
  784. JSR PPU_PROCESS! \: |% z6 C+ p! q7 G  _) G
  785. WEAPON_P2_W:
    ; P8 C# \1 S! `: {# |
  786. LDA WEAPON_P2_DATA,X  R. v* S: q- [5 ~6 d4 @
  787. CMP #CEND
    " p, g+ w, n, y/ x0 K
  788. BEQ WEAPON_P2_START
    % q' @0 Z( p; ^6 u  m5 R2 n
  789. STA $0705,X% H4 b+ g' `8 ?
  790. INX. N: |. C! ?1 u, }
  791. LDA #$001 M) q- V1 ~( @9 ~; ~
  792. BEQ WEAPON_P2_W0 W' o' c( s7 Q0 d8 @2 ]
  793. WEAPON_P2_START:
    ) {, B- s) E+ q' K% B) m: l
  794. JSR PPU_START7 H) u7 o. w0 r; z
  795. RTS9 r$ K% @/ b5 k8 h/ }$ f
  796.   `8 N, f5 C& r6 k
  797. BULLET_P2_ADDR:; e" ^0 x( d' \& K
  798. .BYTE $21,$3A6 u7 e. a5 F) h( x+ u7 Q
  799. BULLET_P2_DATA:
    # O; F' r* V3 L3 g
  800. .BYTE $00,$01,$02,$03,$04
    3 P* R& f& F* T7 g( U' e! K7 m
  801. BULLET_P2_NAME:/ j% v/ k- d" @- ]% g' R
  802. .BYTE CN,CM,CF,CS,CL
    ( q4 z6 F* @6 K, F& o
  803. 1 j/ Y* v; h! j$ ^0 ?& ~
  804. BULLETPPU_P2_PPU:
    8 Q, f2 Q# D4 \5 x
  805. LDX #$00
    ) l2 r1 Y# ?) ]9 u1 K  E
  806. LDA BULLET_P2_ADDR
    ! u  S& B) t$ q! v/ ^: e' S* E
  807. STA $0703
    " {8 Q& \, Y9 D) t) G
  808. INX
    5 J) K/ O7 i9 y7 @3 i/ G
  809. LDA BULLET_P2_ADDR,X! h- q. @& M, u7 C
  810. STA $0704+ D! h- [- p8 b8 q' ?
  811. JSR PPU_PROCESS
    5 f2 r) d6 k7 x2 j9 F. Y$ z1 I
  812. BULLET_P2_WRITE:% e7 K) r! M# m. W2 U4 D1 w2 K
  813. LDX #$00
    ; \( y# e/ e/ \  w
  814. LDA $AA
    " O( @% r. s; ^* X; S. V; ^
  815. AND #$10
    1 }; w, Z% D5 m# b+ |8 G0 r
  816. BEQ C_BULLET_P2
    1 I% S3 n9 y$ o; d8 {- r
  817. LDA #CS. U9 y; j9 s/ N3 _
  818. STA $0705  @2 I" L  w5 g7 L( c* A
  819. BNE B_NAME_P2( |7 T+ M6 H$ W. Z, q
  820. C_BULLET_P2:* n; o# u- S1 V* g+ t+ g! O' E
  821. LDA #CC, T% k# g: E+ \  r# _% P
  822. STA $0705
    0 \  Y; y+ u9 S, o5 O- G8 _
  823. B_NAME_P2:
    ! O$ u- ^9 w( ~0 B
  824. LDA $AB- N. {  m9 z  u9 u, S- \' a
  825. AND #$0F4 u; p4 t9 x, A' f, L
  826. CMP BULLET_P2_DATA,X
    ; J( M( K- N% r; {
  827. BNE B_NAME_P2_RECMP9 L1 V0 A( d( Z$ z0 y( n# U
  828. LDA BULLET_P2_NAME,X+ r# {/ d! |8 X8 }
  829. STA $0706
    . `9 E. o" k1 S* e& I0 u0 C$ z
  830. B_NAME_P2_RECMP
    3 o; m9 X5 P3 Z) [) L$ _5 R% V
  831. INX7 ~2 F& q3 C# r# T+ b5 _/ ?  U5 I, y
  832. CPX #$05
    : Y* O/ l( _! O8 i- l
  833. BCC B_NAME_P2
    7 Q2 K5 f, R3 _) o+ W
  834. LDX #$02, @+ J/ k5 o$ |5 `7 F
  835. JSR PPU_START# h; e, X; o& E0 k2 ^" r
  836. RTS
    * J: W& B  ~" G8 {! a6 i

  837. % v7 D  v6 I) A- {1 i. K
  838. / b$ ]& e, p; L" a7 |- u! x
  839. # w( n5 z* L2 v) E
  840. ) M4 [1 j, R- q/ W* W

  841. 9 L( A" ~7 q+ l3 X3 e

  842. 9 i/ u# r: r/ R$ u4 e
  843. LIFETODEC:                ;十进制转换6 ^9 B" s2 [  @; F. t# w$ r
  844. LIFEL1:        ;initialise
    / _/ W  u" [9 ]" ^$ o9 e
  845. STA $7A00        ;$7A00=F31 V8 O- @0 I+ J. |# Y, j
  846. LDA #$004 ^  ^$ ~2 [. d: ?
  847. STA $7A03        ;$7A03=006 J, H" ]' Y, k4 K5 u! R
  848. STA $7A04        ;$7A04=00
    ' t4 A" ^, d2 y9 _: [- L
  849. STA $7A05        ;$7A05=00
    * \# h$ k) A2 c9 a- H8 z" s) ^
  850. LIFEL2:        ;copy data $7A00 to 6001
      V* @$ o1 x3 @. A$ Z5 t7 h6 F7 o
  851. LDA $7A00, I6 D2 B6 m6 E5 }$ k
  852. STA $7A01
    6 p0 p% R) Z) C1 `
  853. 2 b" J% B6 C9 N& b2 L
  854. LIFEL3:         ;hundred8 T0 w0 l( H2 m7 X' f! e! [
  855. LDA $7A01, g: g  q' c% b; t, b! V$ G
  856. CMP #$64
    : b1 C) k& I, V
  857. BCC LIFEL6                ;$7A01<100 goto L6
    ; V6 I: x* ~3 V0 K, W9 @" B
  858. LIFEL4:
    4 J9 o+ i+ }$ ]/ r% z& s2 [2 U, v
  859. LDA $7A011 w1 v7 E& r3 }4 v( s4 G
  860. SEC
    1 H5 H% _7 X, r( ~* R3 |. E/ }
  861. SBC #$64        ;$7A01=$7A01-100' E1 z$ J. x/ w. K
  862. STA $7A01. G6 B( h3 N0 P
  863. INC $7A03        ;hundred++
    + ]' q7 C7 [3 o" I4 L
  864. LIFEL5:
    0 D- D4 h. I0 {9 O! J. g: V
  865. LDA $7A019 m7 `5 a' o) V" E8 C$ V6 \
  866. CMP #$64
    , j9 ^- J0 t4 F) p$ Y' W
  867. BCS LIFEL4                ;$7A01>100 goto L4+ f- T& Z- n- _: e
  868. - G' m, `" \0 [
  869. LIFEL6:        ;decade
    * V9 F/ v2 G% O
  870. LDA $7A01, k0 N5 P# R) H
  871. CMP #$0A& H  g7 q) F# O" H0 @
  872. BCC LIFEL9                ;$7A01<10 goto L9
    / _( L3 f# V! ~3 R( A- N
  873. LIFEL7:       
    5 B3 H8 t) h- W) H" H
  874. LDA $7A01
    + G7 j: ?: D9 X/ T6 m
  875. SEC
    ; u5 c( P6 o+ r7 g
  876. SBC #$0A
      `: p, n; e# @$ L- B5 Z5 C
  877. STA $7A01        ;$7A01=$7A01-109 n. a/ q! g- t: ^3 i2 |6 \8 n9 {# o
  878. INC $7A04        ;decade++
    1 H# L% |+ z( p1 e8 i
  879. LIFEL8:
    ) |4 G5 r4 @8 ~) L# Z2 c8 X
  880. LDA $7A01, n4 D2 f% x2 V9 c9 K
  881. CMP #$0A
    3 M0 l; |7 v& P
  882. BCS LIFEL7                ;$7A01>10 goto L7+ U4 S4 K3 Z! C1 M( B
  883. ;unit
    # U; V; s, g3 A2 B+ Q8 l- w# L
  884. LIFEL9:/ t9 q+ r- _: ~5 N0 ?+ j! e; _
  885. LDA $7A01        ;$7A05=$7A016 S' d! Z5 w- H" I( f3 j. |
  886. STA $7A05        ;unit
    2 x8 R. ~/ N, U) W3 ?; B
  887. RTS        ;return2 ~6 q8 ~2 v( M. ]# b( Q
  888. 2 |1 [) e! I5 p' Q

  889. 9 M8 o  f, {' e4 E# o, z. V
  890. 9 M. P! k5 B$ B2 }5 S, {3 q
  891. PPU_PROCESS: ;PPU地址处理程序
    # E3 N! |* M. i- e# p4 @) }" u
  892. LDX #$00
    ' {! x4 h: k" ?
  893. LDA $FF
    ! o% v9 }/ O6 S4 t0 `
  894. AND #$01
    " S: I/ q& j$ r) p
  895. BNE PPU_2400_27C00 D3 \- v2 `7 l- K
  896. PPU_2000_23C0: ;命名表1
    ; r3 n7 K7 K9 _4 n! f- P. G: r
  897. LDA $0703
      g9 V. z( @4 }. K7 M4 E5 Q3 ]
  898. AND #$FB$ c* D  m& c$ I, q% D( l6 S
  899. STA $0703
    / ]( t( _& Q9 J4 }. l9 d1 Q: n5 L
  900. RTS' Y5 L) m4 S5 G4 i3 L
  901. PPU_2400_27C0: ;命名表2
    7 @' }$ I2 Q" A+ r
  902. LDA $0703
    2 D4 w. p! l8 a6 }/ j% H
  903. ORA #$04
    % l; u6 g$ L( s
  904. STA $0703! A7 Z% P2 i. J' V: E7 _. l
  905. RTS6 A. N/ j$ p! s: f7 Y

  906. % y: x1 r: n& N
  907. PPU_START:  ;PPU数据写入" _: |% v0 p' \! ^
  908. STA $21
    5 Z- ~0 U/ S7 }! ?
  909. STX $07013 A( X- M; }' i
  910. LDA #$00! G! c7 P' ^4 ?- L0 `
  911. STA $0705,X
    + p) {& s% u2 g# w
  912. LDA #$01* q- R( C- Z" g8 Z
  913. STA $07001 ?- B! Q, B7 k
  914. STA $07023 z3 g3 G3 [- T0 m7 Z4 B/ q5 Z
  915. RTS
    % `/ j+ Q9 h; Q9 f! Z" ^

  916. * F7 j) e4 o# K+ L' a( V

  917. 8 v- U# }0 u' x" R' I: ]+ t7 S. A2 o

  918. 5 U. N5 m7 `3 U8 b
  919. 6 V9 `, y" u5 s2 o

  920. ' i3 c# h; s1 _* I) B. `2 m+ |- j

  921. , K# D# D9 c+ ?6 Y7 N. V2 s
复制代码

5 e8 A" f# Y7 T& ~1 ~  p' h+ a

本帖子中包含更多资源

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

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

签到天数: 2212 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!
( `% X. L% l0 R  H+ r4 `9 B8 ]

签到天数: 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-12 12:40 , Processed in 1.073242 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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