EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    - W1 x0 B: p7 L5 a' k3 z9 M
  2. 作者:FlameCyclone0 U9 O& s/ ]3 C/ [' b
  3. 时间:2017.2.12
    % M1 M! I' ]/ A; A
  4. " D* S! V+ W3 @9 V% h2 M
  5. 按键跳转:0 P/ t* N5 U8 e4 M# K0 o& t; n% s* \
  6.         C1EF:95 F5 94 F1! I# P/ \( a5 p6 h: b# {# x
  7.         C1EF:20 70 FB EA& k: W& R9 `- u' X+ O) O

  8.   j# F( ~$ i5 Z9 ~
  9. 滚动偏移:
    / Q/ c  t3 F) E
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20
    7 l* f* c5 ?9 w# Q" m. c* N
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    ) C2 F. _! N* p( }* ^( J
  12. 3 F: o2 F% g* o" ^# e
  13. 背景调色板:
    7 P' D7 M$ z% ]9 c
  14.         CF20:9D C0 07: W/ X. Z' Z- I/ F1 ]# t
  15.         CF20:20 A0 FB# g- j# m" [: `6 h: i% C! a9 |

  16. & W+ o3 v( B, O* Z9 @
  17. PPU BANK号:
    . V/ l5 \! T$ h& K4 k& O
  18.         C8C9:9D F4 07
    . G) ]5 p) Z- B9 ]) v1 O, @: H( v
  19.         C8C9:20 B0 FB
    . j6 K  v' W* p4 D+ Y
  20. # [' Y' ?, o5 ?' g  c
  21. 按键跳转:
    8 ?/ K* h/ \4 l& Y1 g, _
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    8 h/ ~: |. w9 M; h. l- f' F8 ~
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20, k9 H. k  j" t0 L% o% w
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF. l; @# K9 P3 b' p5 V: s

  25. 1 g! ~$ I, J* z8 q  O, s6 d
  26. 背景调色板:( }, N3 t, r- ]
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF0 n1 n$ f+ D, R: p; h1 d
  28. 1 V' i( Q. C( Q* B; R9 c
  29. PPU BANK号:, {7 I4 L* o+ }/ Z# ~9 |" [- o
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF- _# k; r8 d8 q6 I
  31. 9 r# p) e# {; A5 p# y
  32. 滚动偏移:
    " \  c6 V% m. _; m/ a2 p, h+ E
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60( [$ L5 R, K3 q6 t4 _
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    # R& K3 v1 O' g8 H% J

  35. 1 q9 ]- k; ~% k
  36. ) E, \0 d4 n3 [6 N+ e* v' _' V
  37. 切BANK后A000:
    1 n! i6 X: H: W) I6 T* d1 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% T, T$ V3 J7 G

  39. - i$ ~* b" k& A/ }% f7 g
  40. / ^$ Z2 e; ]$ x, P  ?
  41. 6502 simulator:
    " N. i6 D7 ?! o3 w
  42. PPU写入程序:3 m( M7 M( N, Y' p
  43. .ORG $A000/ J6 r6 ^3 U) s6 o2 W' g
  44. CSP = $80) S# u* }; w/ V0 v! |/ [
  45. C0 = $81+ d7 W/ k8 Z$ d, S
  46. C1 = $82
    ) D: \% Y) N  c: E$ V5 A, Q
  47. C2 = $83
    2 N5 `8 T9 K2 Y+ g! M
  48. C3 = $84
      T6 D5 T1 r& ~: D4 V% j. T; n
  49. C4 = $85
    " }# r# R% v6 h( `
  50. C5 = $869 r4 X, L, r& k8 D" T
  51. C6 = $87
    ' e3 H' z  I7 C+ N5 l
  52. C7 = $888 m4 q5 R9 w1 N- x
  53. C8 = $89
    8 u( }  O( e; I4 ?' ~) H5 V
  54. C9 = $8A
    : c. e" C  d- p
  55. CA = $8B
    9 p" |. m' ]8 n+ s' p. c
  56. CB = $8C4 U( O) ^! H# b) n
  57. CC = $8D* v8 h3 i2 x  t/ M8 ^  p" i
  58. CD = $8E; \$ I* z8 \4 N8 C9 t/ y% r
  59. CE = $8F
    " s# M: [/ K9 X3 r2 ]* \2 p& y
  60. CF = $90
    / `6 u2 C" k& `- G$ H
  61. CG = $91
    & o4 J( E2 f  J2 {1 B1 n
  62. CH = $929 G6 B! A5 l7 C4 ^( m
  63. CI = $93+ j7 P; e9 ^' {  t- j
  64. CJ = $946 \, }7 ^2 r$ m' a+ J& i1 {
  65. CK = $95
    5 \$ j+ C5 x; |% u# F* K& O& M/ c
  66. CL = $96. \. F1 ~+ O* Q  \+ f
  67. CM = $973 y. N+ p7 D& x& a& b
  68. CN = $98
    ! q7 Y1 o$ B7 ^% O; V- U
  69. CO = $99
    , q1 S% @- w6 l
  70. CP = $9A0 `3 O3 r2 q) f
  71. CQ = $9B! q* j$ \" h! I1 S7 Y
  72. CR = $9C
    $ J" @- L: ?/ s* }; U7 S
  73. CS = $9D
    ; k; Q  G, {. c4 V( ^: J
  74. CT = $9E
    " `  |( O0 a+ n/ R# ^- _
  75. CU = $9F
    % E9 o4 t, y! o/ o& _
  76. CV = $A0
    , c5 V! {9 b% C" x, }
  77. CW = $A1) i$ ^( h/ i6 J
  78. CX = $A22 [0 r1 f0 R2 B  o0 |
  79. CY = $A3' T0 \8 M2 O/ K. s8 l& r7 w
  80. CZ = $A4, ?4 T9 A1 o" _% I: t; ?) o* @
  81. CEND = $FF% n  V! b. Q6 ~$ d6 D

  82. 8 I6 ]# H% K1 H
  83. 3 D3 q  u" \" ^6 q: E
  84. CMP_RE:( O' ^& s2 b0 }$ O' N& d
  85. LDA $FF
    5 T$ T: V0 C) t$ Z- }3 n
  86. AND #$7F
    , \0 d' [4 ]' ~+ @6 p/ i
  87. STA $2000
    ' x/ f3 P7 q) m' B
  88. LDA $2002/ y0 q# X) ?6 I/ _8 A# ?
  89. LDA $25
    & F# }# H# D, M2 F& R
  90. CMP #$01& y7 u, a: a. b8 t+ o" M2 _
  91. BNE PROREG
    ' f* Y7 @: e# |+ p+ P; v$ R0 S
  92. LDA $F5,X
    5 T9 U! t2 n8 i4 i* d" o2 L  B8 G/ I
  93. AND #$CF6 ^/ M& g; I& q
  94. BEQ PROREG
    7 r* h. l* |, h1 U, j( K
  95. JSR PPU_CMP  k! C) O4 }; X* {, P
  96. C_RE:
      w7 ]' d  G* j- u: ]- f
  97. RTS+ v& L  r2 X$ W3 H1 ]- f0 e# Z5 D
  98. PROREG:
    # A, F+ ?2 m) g' t+ g
  99. PHA$ T% P( _2 S/ ^* e- E
  100. TXA
    1 v9 r- _5 P' v; Z
  101. PHA
    ; z: ~- T2 N, C3 z
  102. TYA; x( R8 H2 Z# ?
  103. PHA: H$ Z0 f7 t6 [- P7 I- z1 w( ?
  104. LDA $25
    5 K) h3 i. X$ ]: B
  105. CMP #$019 C; ~/ M8 U+ N9 U' |! O/ |8 f
  106. BNE RE. t" k; s0 v( f, c
  107. LDA $010A
    # v$ w' C+ e7 m% ?1 u0 I, C( n
  108. CMP #$00
    4 I9 E0 _% y  y" ?' p
  109. BEQ P10 g) j; y4 P# d$ }/ ?
  110. # t$ ]- E! V/ Y# e
  111. RE:
    & j6 q# S$ u  X, v. X1 W
  112. JMP PPUWRITE3 t' b( [0 t9 l2 }/ n4 z# |
  113. 4 r% Z0 B5 z9 M& L  c- U
  114. P1:                ; 条件判断
    $ c3 l5 b& C) Q3 |
  115. LDA $7FFF8 D" J5 K" _" ~) C1 A6 |) _
  116. CMP #$FF
    1 P; @  i3 x5 l3 _( A
  117. BNE P1RP3 c; c! \) E5 D- f6 F, m  A2 `+ F
  118. LDA $7FA0. ]7 I$ i) d. _- y; N1 S' e1 O
  119. CMP #$006 c# z5 ~1 ?! Q5 {8 z: T8 T
  120. BNE P1CMP9 Q/ X# q8 l% l3 w) W6 @: S9 B
  121. LDA #$FF9 M/ S. Z: d7 V, \
  122. STA $7FA0
      x3 b5 m+ v0 h# R7 @4 \6 _
  123. JSR CLEANA4 F2 k& g* F7 F  e3 l+ J! t0 O! f6 u+ d
  124. JMP PPUWRITE
    1 b1 q! Q( c: I' Z
  125. P1CMP:
    ( t. _( O3 _& F8 {" R* ~0 |5 X
  126. LDA $7FFF
    ; ^  _) ]( S# t  b
  127. CMP #$00
      @7 `: ]* O. v- e
  128. BNE RE. M5 I/ \! V) E8 b" Y  R
  129. P1RP:
    , P+ T1 _+ f  h' x! w5 E4 S
  130. LDA $2002( z  w# [9 F2 M, R
  131. LDA #$00
    " x  _! K1 h  z' Y4 ]5 n
  132. STA $2001
    / t3 h4 c- u( \1 T( v
  133. LDX #$00
    ) |3 S+ Q1 n" C$ D" f
  134. LDA #$FF
    0 y4 }8 Z" k  d: l  E9 l; H
  135. STA $7FFF0 d/ J; d* r- I
  136. STA $7FA0
    / Y( D- T; A3 [. _, H$ |
  137. JSR COPYPPU2 S' F0 x' U5 z4 @0 f4 x6 o! j) O
  138. PIRP2:
    , t8 Z, q3 ~4 \* e
  139. JSR CLEANA  x/ S0 b7 r% e# G' i3 E: t
  140. JMP PPUWRITE  h6 @- k: T) W( d& ^6 G/ s- v
  141. 6 x7 ^+ u- S3 z" ~2 A: B$ v8 F
  142. COPYPPU:; E2 e) D) w& d5 u+ V. ]1 H5 D
  143. LDA $FE7 p; p( P+ \- m+ E0 P6 O
  144. STA $7F50
    ' w0 l/ `! h; C8 J" J
  145. LDA #$08
    ! q* O% M) t7 }; B+ U& H
  146. STA $FE2 M, B! _$ R, I( r$ I. b- g  s
  147. L0:% _3 F8 D' `) e5 Z; G0 t) e
  148. LDX #$00& M: l) e  K+ H& v( q) ?4 H
  149. COPY_07C0_07DF:1 J2 f3 R" ?' Z2 _7 e. y# V
  150. LDA $07C0,X
    8 `- Z% l' p: l/ M$ d
  151. STA $7F00,X, \! b2 a* D) ]1 C
  152. INX' }5 `% g1 U' |# I
  153. CPX #$40
    * @) `$ ?: Y+ v1 C( n: J5 V
  154. BCC COPY_07C0_07DF; \9 y% a) C$ N) z1 X
  155. LDX #$00: \* q# q  ^  n0 V
  156. PPU_07F4_07F7:% d! `5 R) r" N9 |
  157. LDA #$00
    + I- z" }/ M* p. ~
  158. STA $07F4,X+ o$ M5 x. n5 g8 }2 |* [
  159. INX* e+ s5 @* B! A3 x# R
  160. CPX #$04
    ( H) a$ i' x) F/ Z* c% d3 G) |
  161. BCC PPU_07F4_07F7
    % h3 ?0 d; [0 }0 |4 ^! S+ x
  162. LDX #$00
    2 u) |4 h2 ^  q/ Y- {6 y2 ]
  163. COLOR:
    : a' @+ a/ T3 x- D8 M" N' p
  164. LDA COLOR_DATA,X. s5 i+ T# p9 }" Q% {! Z0 c
  165. STA $07C0,X0 r6 z6 @- }0 J3 J1 V$ s5 z
  166. INX0 V5 }" n) b3 A$ O( N/ O
  167. CPX #$10; _+ y- L% {3 a- I
  168. BCC COLOR
    - L& v' A* k- w  m8 i

  169. & m( d% h: \" d; k# h
  170. PPU_COLOR:
    , {, N- [) ~6 X" Q; V, n% g
  171. LDA #$3F
    : B# u# p+ N2 C4 s: I7 Z0 z% h8 A: z
  172. STA $2006
    $ o3 Y! e! U# D' L, J& K
  173. LDA #$00
    9 a9 l0 l3 a$ b: J2 F
  174. STA $2006; L+ P6 Y$ A  k* O3 L
  175. LDX #$00" p; S/ M) b4 w" N( T5 g
  176. PPU_COLOR_W:
    $ a$ I9 K, ~- k* L
  177. LDA COLOR_DATA,X
    " P; [9 x+ r2 k+ w% `7 z
  178. STA $2007
    ( O7 ?$ x8 l% `
  179. INX
    0 x0 s; P) t# D
  180. CPX #$106 T3 }( s: |! X4 A% W& W3 y
  181. BCC PPU_COLOR_W) F; M! I4 p2 ]$ n

  182. 3 i0 g% F7 t/ ^
  183. 7 f% w" a* G$ X
  184. LDX #$00
    3 a/ u. o% g! e
  185. LDY #$00
    . G! s1 W. R/ H/ \
  186. LDA $BD" X! B, c+ K8 k5 _/ b
  187. PHA
    4 _9 E9 Z) R) M
  188. LDA $BC# y4 U# y4 o" v7 o$ p0 v9 g  `
  189. PHA& u+ H/ I/ b+ F
  190. LDA $BB0 i8 H8 M$ X7 E  z% O: S  ^
  191. PHA$ V$ \+ g# A' h0 V: n* r
  192. LDA $BA
    5 ^( W' H5 I0 Z) ^* n1 {1 S. I8 i
  193. PHA
    ! M- V; k* J( }
  194. LDA $B9
    3 A, `+ a! A5 v- N7 j, m
  195. PHA* Z4 U6 z! x; D# n; z* i, X7 l: Q
  196. LDA $B8( o. g1 r, a' {" C. \
  197. PHA
      f$ l  s, S5 k9 }0 Q" B, ^
  198. LDA #$00
    / c! T, P! A, U# N
  199. STA $B8
    ) S& E! K9 D* ]
  200. STA $B9: Y! }, B4 W3 j5 V
  201. STA $BA5 ?7 C3 ~; y" p2 L7 j0 z0 N
  202. STA $BB
    7 N7 o; [5 |) F0 i5 V- R
  203. STA $BC  l2 h/ L, {% r
  204. STA $BD. N( F- Y: y; r
  205. LDA #$00+ U6 u9 Y6 |0 y! ~1 ^) c1 }6 z; t
  206. STA $BA
    5 p( K% P$ {8 e' f3 b8 `- y+ t* O
  207. LDA #$20! {' v  o8 }' u+ W8 \; N' F
  208. STA $BB
    - T: I, d+ V( b+ }9 i( l. o
  209. LDA #$00
    3 W! K2 l- d% C$ m3 N6 ^* A+ C' k
  210. STA $BC3 a* U( y4 [3 `' E
  211. LDA #$60
    $ E) \4 W8 T! d7 G  w- n, ?* \
  212. STA $BD/ ~' e! r0 E8 U! `0 M9 w* {

  213. ( f3 p( |% Q! ~& ^
  214. L1:                ; PPU复制
    7 e7 ~2 ^; F8 @3 W% W% _; i! X$ f
  215. LDA $BB, ~" d  e) B, g2 l! j
  216. CMP #$28
    ; p2 M$ s' ~) W$ X' `7 N2 k
  217. BNE L2$ `) M( K/ L( V( Q/ e) Y/ R
  218. LDA $BA
    / U3 t! H7 Z$ z" ^
  219. CMP #$00
    ! P5 x4 r0 W5 v* ?# J
  220. BEQ PROADPLA
    - A8 S8 M4 m# O

  221. 0 K% k% p' ^/ J7 I1 E7 \
  222. L2:: i/ ~1 a0 ^. l" N6 d* e6 i
  223. LDA $BB
    7 C6 |$ w  g/ K% O  ~& n# i& f
  224. STA $2006& L. p0 w7 b( S- o% i7 c
  225. LDA $BA1 G% `4 f" e* y: t4 n. _
  226. STA $2006
    ! T. \& L9 a. j

  227. + P/ V1 f! e) k9 d2 Y# P' U3 d
  228. L3:
      t- W6 P, x# r
  229. LDA $2007
    ) `. A' E$ R" K) |3 p: \
  230. LDA $20070 m6 N3 {5 Z) ?
  231. STA ($BC),Y0 ?  W! H& P: ^8 o* g
  232. 6 W8 X' G* W8 n( S4 B* k, ~" u
  233. L4:, V! }" ]! z2 O2 b! ^1 F# R! e) e
  234. LDA #$00
      V, a5 G9 v. ^5 b) H
  235. STA $2000
    ) ~% i. Z) _2 F7 D% m
  236. INX
    , [1 v5 b7 E  `. e
  237. INC $BA
    4 o( Z7 k- j# ^5 Q( {" A
  238. INC $BC
    - z# M- E: P( {2 R
  239. CPX #$00
    6 H. \7 X# T5 {$ E7 b' H. d
  240. BNE L1
    2 Z/ ?9 k" }$ s# v2 V: }7 I3 k
  241. INC $BB
      I! z0 L' T3 W5 T% g2 ~
  242. INC $BD+ p9 @# [( Q  X) d
  243. JMP L1
    ' t/ |7 l; }& V; t8 Y: {

  244. 6 q3 @4 u0 g8 d0 F% P, K8 g
  245. PROADPLA:                ;出栈4 i( \3 J' {2 ?
  246. PLA5 n! }1 F: Z. Z' `3 O; s' W
  247. STA $B88 E; g6 f8 B6 V8 }5 N2 _7 j
  248. PLA) W6 R' ?# u) p. ?6 _) v% @
  249. STA $B9
    4 o3 y/ ~9 Q' I! e. R& w" K
  250. PLA
    ) y0 f, ?, i4 v7 S
  251. STA $BA
    $ l! i- U( x; V1 z% R- r
  252. PLA1 v6 V& t; f; ~. Q
  253. STA $BB
    / B+ \) o3 N' D+ k& n# D
  254. PLA! F5 k& J$ Z, K0 Z2 F: C0 N
  255. STA $BC
    . X! S- V/ ^# D& l1 x1 x! x' ?
  256. PLA8 r/ m6 x* X& Q2 P  u
  257. STA $BD
    2 [& c9 I. q! C) s& Z
  258. CPRE:, k* F0 l+ y1 V
  259. RTS& Z. a) y+ y  f8 w$ a' b

  260. - v0 ]$ {4 f- I: Q
  261. CLEANA:                ; PPU清空# C( O+ G1 u- c; n% `+ F9 V+ n
  262. LDA $BD% A  U+ [, P6 g3 n+ }6 E1 |
  263. PHA
    $ s+ P8 [( B2 ]% M1 Y% y
  264. LDA $BC
    , O$ L! ~) H1 N* ?: k- P
  265. PHA9 D4 \5 ]' v2 L" M
  266. LDA $BB
      ]: w0 T4 y! _" ^5 o: ^* Z
  267. PHA
    - e- Z; E2 R0 j4 q$ v. |$ R
  268. LDA $BA" `5 \; z4 S- j. c( x' L/ Q
  269. PHA
    # C+ N! i+ I) L3 d* s" N
  270. LDA $B9, v' ^+ g0 ?8 F" [
  271. PHA$ f2 j" e% Z+ }* S: o" H8 v
  272. LDA $B83 @. Q$ C; N, D1 u3 Z7 S# t
  273. PHA
    - {0 W; [+ G: A" K% `9 T
  274. LDA #$00
    % _0 G3 Y7 R- F9 e
  275. STA $B8* d1 @3 ?9 }2 b9 A( ]7 s
  276. STA $B9
    + U6 Z) W. |7 L3 R
  277. STA $BA' V( o) ]2 O! e; X# ^1 j6 |8 r
  278. STA $BB
    2 d/ b6 i% k. i6 [& c
  279. STA $BC, K; _' S; w8 ]/ T- a( C
  280. STA $BD
    * e' D  f6 C( K: B& `: P5 q: c
  281. STA $20019 j6 D. m6 h* Y0 l
  282. LDX #$00% i; E4 L! K) F. K( l* w
  283. LDY #$00
    ) Z' @7 }2 L, b" a3 w  [' L3 w
  284. LDA #$00% j- J1 L% D$ H9 s' ?
  285. STA $BA
    6 c4 z% c4 N6 w
  286. LDA #$20
    - J. _0 p" w6 U4 }( T% C' f8 F9 b
  287. STA $BB
    ) U/ X) q; ]2 T

  288. + {. \" z1 h+ Y# A( N/ e
  289. CL1:1 b8 ~/ D4 t3 l! w1 w" x
  290. LDA $BB& }0 ?; A5 K, S* ]
  291. CMP #$285 s/ [# q) k% o
  292. BNE CL2
    5 [3 g/ {9 I5 a
  293. LDA $BA
    3 j( j. I( G# F+ I# d& g7 Y
  294. CMP #$00) Z( a' h4 ^  q- w! V
  295. BEQ FREEWRIYE
    6 d7 @% @9 }; W! D' b9 c/ ^
  296. " e8 g# P+ k, h9 Q4 L% {+ @
  297. CL2:
    . F: T; [, y$ u; v
  298. LDA $BB
    ) n" @/ V1 L* p9 w( V1 V) U  @
  299. STA $2006( Z$ ?' e: k# ^5 o* N3 ?5 q& H
  300. LDA $BA4 W8 i) w" N. Q
  301. STA $2006
    # A$ C8 @+ j6 k; d5 b5 D

  302. 3 T, H2 X7 M7 h0 F9 r% d# d
  303. CL3:2 n# A" I5 A, _7 T0 z7 M0 P
  304. LDA #$00
    6 y( k  E- q% Z% B, }6 U
  305. STA $20074 Y5 m0 S, j  V) v( Y, @1 y
  306.   O; j6 ^1 w. a: @* G
  307. CL4:
    5 a' L" M! T; j2 a" ~! S! |
  308. LDA #$00
    5 N! B* `+ ]( s* `/ z
  309. STA $2000
    / q5 A/ v/ {( t: S
  310. INX
    : Q$ b' h* }" Y& y$ H# Z
  311. INC $BA
    4 @! r- O: M) _4 j# H4 F
  312. CPX #$00
    0 Y( A) N9 A4 y
  313. BNE CL1/ i% D4 Q# T9 |( |& y$ P
  314. INC $BB* \" L3 z9 u# u7 L( W, p
  315. JMP CL1 - C# Z/ u/ R& C) w/ Q

  316. 3 _5 ]8 A: `' ]/ O7 l4 a

  317. - C( C! z9 f( J# e
  318. FREEWRIYE:
    - r$ ^; e: j6 Z- e5 c  P1 ~
  319. , Q+ m; S4 x  b  W$ ]/ _6 F
  320. NOP
    % \4 S6 P- T. \+ b/ l  h

  321. 7 u7 ]$ V' k! u9 u

  322.   j/ ~6 |3 W0 O% L3 C3 S* \
  323. , a2 Y1 ~- u; ]$ c# g

  324. ; X4 s. P( c% _1 i0 v

  325. + g/ t% }0 p7 H/ D# ]
  326. CLEANF:                ; 恢复现场5 R( r% a! u" d: Q; `4 I8 G& y
  327. * n  X/ u3 x! W' f1 w9 O' R
  328. PLA9 ?% D. }7 c* @2 y; g. A- {( D- ]5 l
  329. STA $B8
    / l# x# E/ B5 S
  330. PLA2 `1 _6 U' c4 C. p! H
  331. STA $B9
    ) A* U) A/ d$ Y4 u5 N
  332. PLA  c9 \- d+ Y1 V5 h! u& ^
  333. STA $BA
    9 {: O+ c% P% I7 Q8 X; J
  334. PLA. `) e" H! Y7 t% g& `7 t4 o( ?
  335. STA $BB
    # U( u! h3 F4 C2 ~2 r* b8 F
  336. PLA" J5 c7 K, ]. f% _4 j* @
  337. STA $BC
    ' N0 R# x1 \6 i3 x
  338. PLA
    : ?9 A9 F/ ^; s& X5 u
  339. STA $BD
    9 T! }3 z! s: T7 h1 f  @; @* G+ X" `
  340. CLRF:* G7 S' H1 ^1 u/ x. l
  341. JSR FREE_PPU
    4 y* n2 v8 p5 q# Q; j
  342. RTS
    / M1 r+ {; v6 d* {

  343. + k! ]) I% Y0 x( A$ A% u
  344. * _( L% T9 G4 A0 {, o
  345. PPUWRITE:    ;PPU写回! b9 M' m: u) |) X0 r5 F
  346. PLA! \, b/ B( S4 A0 R
  347. TAY
    " ~. @3 x6 V6 E4 `" a  g
  348. PLA
    : H" }9 d/ ~  K' ]  y( @4 E
  349. TAX9 n1 H& n' j* H5 v) B& i2 d) ?  T
  350. PLA
    ' q1 a! U& a% g* M0 u- M
  351. LDA $25
    2 P5 j. W  R0 d% l# ?0 b
  352. CMP #$003 b$ U, l& y& h0 A  p
  353. BEQ WP1
    & x% V: ]0 b9 ?" E# F
  354. LDA $25
    & P1 S+ X$ p  a/ q2 Z$ y2 H
  355. CMP #$01! s5 }# u( ~4 ]3 ^  V
  356. BNE WRE
    ) b  L4 }! e  Z
  357. LDA $F5,X, _  y6 g& s% _+ M, k- G
  358. AND #$EF7 m* P0 d3 ~, F2 T
  359. BEQ WRE; \0 }. h$ c) ~! z4 b  _- `
  360. LDA #$00
    ' D0 t; \4 {3 [  M* C& b
  361. STA $7FA0% q, z/ n+ o  L5 U0 V
  362. " o4 L4 K: T! c2 `' H- q9 q6 O
  363. WRE:  N/ v- R5 h) i9 ?
  364. RTS7 {9 w1 t( A- K
  365. ) \7 M: B+ r# U/ P6 P$ Y/ f
  366. WP1:
    & I, ~# [/ @: W8 E: x. \
  367. LDA $7FFF
    * ^' p7 _6 N3 U! `. Z" K- O6 @
  368. CMP #$FF" N) {* H) `5 ^* C; ?3 M; m
  369. BNE WRE
    8 G4 \# P/ T! c1 N" k3 X( K
  370. LDA #$00
    ) `' `7 p" {6 t' a8 }! V- ?* J
  371. STA $2001' b/ i( A" a: M% s
  372. LDA $BD/ f" r4 a3 e, D
  373. PHA$ ]5 t/ O/ M/ D# |/ Q0 P
  374. LDA $BC! \! Q1 s& ~4 m4 {( S
  375. PHA
    * U$ X; E; q% ?: O- n
  376. LDA $BB" E; Y8 {% \3 T- q0 J/ W( B
  377. PHA
    : m/ E$ S7 a8 d/ w
  378. LDA $BA
    ( }# P3 m; _! e) G2 |; W" `' f; ~
  379. PHA
    & C" J" H5 o2 A( Z- O6 O+ r- G
  380. LDA $B9
    ( R8 H  y1 k0 ~1 o) ~
  381. PHA. g( v/ n: S3 N9 n4 V7 t
  382. LDA $B8; k- J$ l( M" H8 A9 V/ M
  383. PHA6 h* D& y5 ^* ]& d
  384. LDA #$00
    $ b" J* h* a& r  w7 K/ [
  385. STA $B8
    ' Q7 V, y* I+ }6 K! _( p9 C
  386. STA $B9& u& h" y) a9 y: A
  387. STA $BA9 R- y! |) z0 O# Q
  388. STA $BB
    ' y( ~( F0 q' E3 ]" h% G5 l
  389. STA $BC
    / o( `0 g# D7 w. _: X- w* A
  390. STA $BD
    ) b. D' s& E" Z0 R7 k1 L+ U
  391. LDA #$002 M& b- R& o8 o
  392. STA $7FFF# ?! m* Z& S. J! t0 m

  393. / N2 ~( H6 Y1 Q  W. L# H+ N
  394. WL0:
    & r3 {  X7 A* o
  395. LDX #$00
    3 f# @/ P# h* ~* `. D
  396. LDY #$007 ^: F" O% S: }  D' X
  397. LDA #$00' D2 |! P. l' q1 O3 y& M+ I
  398. STA $BA
    ' s8 O3 [8 [# }+ m) U
  399. LDA #$205 \, ?+ v) B( ]& G& S
  400. STA $BB9 g4 |8 i/ D: m. e; F3 C3 N
  401. LDA #$007 L* G8 W1 U, n( o* t) |
  402. STA $BC
    : {2 S% S! k+ P7 e/ Y3 _( D
  403. LDA #$60
    3 Z+ ?' h# p" j# s' S9 ~* r
  404. STA $BD' F5 {, k  B, J; L

  405. " e6 P! X0 g4 K! a0 t6 t- x* k
  406. WL1:
    + E/ l" z% L1 |, v
  407. LDA $BD9 a' I0 l/ l2 r$ d; b) `" A5 T
  408. CMP #$68
      I" u0 j  o% V5 n4 f
  409. BNE WL2
    - X: w/ a* z# u5 H0 [6 q
  410. LDA $BC
    & R2 Z% b4 s2 `5 K" K
  411. CMP #$00
    6 W# \$ p$ V9 ]; d8 J  _% H
  412. BEQ WLR
    . Q1 O' M2 F% h: I$ w: o" g
  413. 6 E+ J8 z! h3 V; n
  414. WL2:
    ) z# C4 a4 j3 ~- j
  415. LDA $BD6 ]* Q) d! ^3 e4 l, e- F
  416. STA $2006- j3 j" H# r5 W  I
  417. LDA $BC
    + X" Q4 C" \; k: d2 ?
  418. STA $2006
    5 n; X8 g0 o& K
  419. 1 d1 m4 z+ R. }- T2 \
  420. WL3:2 X, `4 Q. V  ]9 k) v  Y
  421. LDA ($BC),Y1 Z1 a2 i$ b9 h* C( M
  422. STA $20075 a% V  D  a( h9 A
  423. # g- s" F  j  I. Z# U# E
  424. WL4:
    ) {: X9 G  G6 h
  425. LDA #$00
    ! K# G5 ?% W( j+ U
  426. STA $2000
    1 o- k+ x/ A& Q) h1 ~
  427. INX
    ( e4 A, Y7 h3 x+ a
  428. INC $BA/ j8 t% b' V* o& N1 i* ]( e, R* Q
  429. INC $BC
    : V7 K* r  e2 P/ m$ c' ~4 Y
  430. CPX #$00/ o" v4 V2 H- y( R4 k
  431. BNE WL1
    0 M1 H" c2 O: c: F0 k4 i0 {6 v
  432. INC $BB& }+ u8 t$ L. N# v5 g: w+ }
  433. INC $BD# H1 U5 z- p' [2 x3 T+ j
  434. JMP WL1# V% f3 M  Z, m5 Q
  435. 8 @" {0 `$ ]  j+ v: H2 T& O9 C
  436. WLR:7 H8 r& ^2 O' q$ E6 I; \" c
  437. LDX #$00/ `+ X4 ^. t2 n5 M  D7 Y
  438. COPY_7F00_7F3F:
    5 C/ P* L, q( k. |5 T" j
  439. LDA $7F00,X( X. y5 g5 ]  T+ M3 [6 X4 o
  440. STA $07C0,X
    9 r4 V- `% M5 x7 \
  441. INX
    + ?; a% f7 y2 l8 h
  442. CPX #$40
    4 Q+ L% A$ c; _0 E7 i" `# A
  443. BCC COPY_7F00_7F3F* @  W9 l5 A9 e( ?. w
  444. * a& y( u8 T- W2 d% S) F
  445. LDX #$002 w2 ~2 F0 X5 Y) @, x3 O
  446. LDA #$3F. F4 F* r. l3 F5 n7 N5 A
  447. STA $2006
    # v2 ?2 Z9 P* |- D6 o: h7 A/ X
  448. LDA #$00
    7 E* y. T, Y5 E0 K& Z. z) \9 w
  449. STA $2006
    8 a/ k/ w( d. |4 b& o
  450. COPY_7F00_7F10:! N+ Z. V# K4 {9 P! a
  451. LDA $7C0,X' v" s" Y3 ]9 `2 {1 h- A: y+ X
  452. STA $2007' S4 \2 B8 c) c/ f8 t
  453. INX* s: X8 W$ m4 T( U
  454. CPX #$10
    0 }& t. ?  y) ?& h7 s
  455. BCC COPY_7F00_7F10
    5 k6 ^' [, k! j
  456. + Y9 L& v4 Z) s( q, U7 R
  457. LDA $2002& D6 E# Y% W+ e7 N5 ?" b+ e
  458. LDA $FD+ Q: R7 p* k$ w8 u; S: R
  459. STA $20057 D& b- y) r. z, F4 x& a; v: c
  460. LDA $FC
    + q$ d& d5 _  S' t
  461. STA $2005+ S* v0 p- V6 i! \1 O5 T% x% D

  462. ; C% B) y- W; [  O0 V8 w, w, l
  463. LDA $7F50/ B7 X: e+ B9 C" o; L. z
  464. STA $FE
      n8 s' p4 ~) h0 S, ]
  465. LDA #$00) [! F. n- [" i  [, ?2 o
  466. STA $2000- Z$ z% ?5 h. m" W5 R
  467. PLA
    0 b" o* d, Z* e( k
  468. STA $B8
    * u, c  D2 I# Q8 `$ y6 L
  469. PLA
    & W6 Z# Q% p2 _
  470. STA $B9
    & c2 W8 o% _$ k8 \
  471. PLA
      ~1 X4 D5 @, T! G  Y% b* X% S4 J- Y
  472. STA $BA! q7 B0 H" e/ l2 R
  473. PLA/ q, A" K. z) z1 C0 N0 Q
  474. STA $BB
    4 V# B1 w/ y6 M4 U1 \& h& S$ A7 c
  475. PLA
    ( R- ~# n8 o7 T- v6 c: ^
  476. STA $BC' K7 J2 p$ Y; y0 L/ z
  477. PLA5 C$ g+ w. O) l. i  p0 h: g; b
  478. STA $BD
    % V2 X# K2 I) f6 G/ C* r/ S" y, S; d% P" ?
  479. ) M  C" V: ?! y0 H4 ^1 ^2 G+ {1 L$ e
  480. RTS; U6 G8 W% Q4 Z8 [( B! Y" o
  481. 0 e# q6 J" g. q, x
  482. PPU_CMP:
    7 F& `2 Y% ~& ^# R6 j2 P
  483. & I' g( _: Q  p6 O  q0 N
  484. , X; n+ m+ h& x! H
  485. PPURE:5 r8 i/ z* M0 F
  486. RTS* \. p8 d$ j9 x1 y& v  j* N

  487. 2 N( o& u1 n: J: J% U7 |# m/ n

  488. ( S, i: ~# w# `1 y& B# }
  489. FREE_PPU:& n; W% \0 |# D1 R8 a

  490. + D2 j& n5 l+ Z; G- o; v( J
  491. JSR TEXT01_PPU6 ?4 f# l/ K' G: ?
  492. JSR $CBC0/ A* n* {9 T" ~$ d5 k
  493. JSR P1_PPU+ R2 {* V+ ~3 l6 I
  494. JSR P2_PPU" a9 p+ d$ q$ Z  h8 N% a% r
  495. RTS
    . ]+ t8 d5 r' x

  496. * m9 ?/ Y. c- a
  497. TEXT01_ADDR:
    + P% n0 y0 Z( G  e! F' D
  498. .BYTE $20,$42% J, u4 j- v& p) {% d2 A
  499. TEXT01_DATA:9 q, Z* V0 B/ i
  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,CEND4 e9 z) K  s8 @/ n4 d
  501. TEXT01_PPU
    * i/ w+ u) N% C  Q! Q0 h
  502. LDX #$00+ a' |! q$ s% P0 D, y( H
  503. LDA TEXT01_ADDR: S$ ?3 ^8 [( Z7 _
  504. STA $0703
    - a) X, {( Z% i
  505. INX7 {3 Y! F. U% }4 }( q' p# s
  506. LDA TEXT01_ADDR,X
    $ h4 y- ^, Y8 d& Z
  507. STA $07049 K( l/ w$ t$ c' y& a' `; z
  508. JSR PPU_PROCESS
    " S+ q  N1 Z' d2 e( C
  509. TEXT01_W:
    5 P- J4 F  l6 u' ?% k
  510. LDA TEXT01_DATA,X
    : a* r- p* k4 Q# a
  511. CMP #CEND
    ; N' O2 w1 Y* s8 W% N3 V
  512. BEQ TEXT01_START
    8 N3 \- A, L1 T7 U" P
  513. STA $0705,X
    : D7 o2 l9 h$ E* G
  514. INX8 R$ S# Q/ x7 h4 \( b
  515. LDA #$006 o; D8 `( c1 _
  516. BEQ TEXT01_W
    . x& Z1 q$ F' m# Q" E7 M& ?, H6 b
  517. TEXT01_START:9 X. \) }' H3 g' X1 \# Q  t
  518. JSR PPU_START
    ' [7 B; V* ?; g) {) C
  519. RTS
    6 k4 y2 D6 T8 T
  520. 0 k" C: U' [  O6 ]

  521. * ^5 w  m) Q7 ], _
  522. COLOR_DATA:
    ) M# s5 r8 Y9 \: m
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    ( Y! v7 p- G( [( X# h8 N
  524. - Y7 ~) V4 N/ S$ Q
  525. P1_PPU:- j4 ^# q7 F+ @# w& J
  526. JSR PLAYER_01_PPU
    4 K/ h3 R4 J! K* W/ z% A) e4 g
  527. JSR $CBC03 N! z7 E# u3 c$ K% r6 I5 |3 `
  528. JSR RELIFE_P1_PPU
    / u! R' E. E2 }* C
  529. JSR $CBC0
    ' x' d6 k8 W% ~" J. p: E% y
  530. JSR RELIFE_NUMBER_P1_PPU
    2 I/ g& G/ P2 r1 V( m, ]1 Z) G
  531. JSR $CBC0
    $ \- s5 Z3 z9 U. M" C) @+ h
  532. JSR WEAPON_P1_PPU2 D. a+ d8 @" j* {5 |$ e& z+ D# n
  533. JSR $CBC0
    / L/ N. k* t; Y2 c  h0 [
  534. JSR BULLETPPU_P1_PPU; o- D# Z' k& V* ~. o9 K0 D! V
  535. JSR $CBC08 {+ L& ]: x4 W9 v8 f- A
  536. RTS
    . |8 f1 I% N! E( b# Z3 {' I0 ?$ `

  537. 4 s( F9 w3 h/ S  N
  538. P2_PPU:
    * K" K, x, ?7 o6 ]: e! v9 q
  539. JSR PLAYER_02_PPU
    # s" \; e: J2 n' o/ z
  540. JSR $CBC06 T! L7 b, X( p1 N( c. `$ A
  541. JSR RELIFE_P2_PPU0 J  b1 F; D' ?
  542. JSR $CBC0
    # y8 X" x; j! r% U
  543. JSR RELIFE_NUMBER_P2_PPU  h0 ]1 H! E# @+ J
  544. JSR $CBC09 Y& b& @4 g  f; @1 q
  545. JSR WEAPON_P2_PPU; S, x) k5 A- u" S0 P
  546. JSR $CBC0
    0 R& A8 t; i9 \; |' ?2 d
  547. JSR BULLETPPU_P2_PPU
    0 N& \3 P, o/ w" }2 p
  548. JSR $CBC0
    8 m4 `# G5 a9 D8 J/ P! k
  549. RTS9 m9 K) t+ m, T
  550. 2 V! Q" k, T) F! t4 `: l+ {
  551. 2 ]% h& U( `% F0 d. ?8 {

  552. & {8 d$ F- f3 l2 R/ {7 W% t
  553. PLAYER_01_ADDR:
    $ E' H, s8 s9 P; |! L* D
  554. .BYTE $20,$A3
    * ^% G1 o) a! h4 i' X. r2 t& l5 Y
  555. PLAYER_01_DATA:
    9 r, x3 }% ]4 C0 B: u  _( U
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND
    - T4 o3 `$ \1 o/ y$ U: r+ k
  557. PLAYER_01_PPU:5 L' l: e3 s7 Y/ C* [: R% K
  558. LDX #$005 p5 R; A/ G" M7 [& L. N% f
  559. LDA PLAYER_01_ADDR
    / h7 Q  D0 Z6 O* Y& d
  560. STA $0703
    7 F7 \& C7 D$ U9 }! E% ?
  561. INX  k7 e5 ]% h9 k" r0 r$ X0 n! q
  562. LDA PLAYER_01_ADDR,X
    $ d. C  E4 G- o  x" G' i
  563. STA $0704
      _$ `& D" H& t; k- J/ b
  564. JSR PPU_PROCESS
    0 l8 L$ K& k. Y) R! k) L; s
  565. PLAYER_01_W:
    6 l/ V3 s7 {1 e) q4 `
  566. LDA PLAYER_01_DATA,X* L. C: x1 z* K9 p; f* S3 P7 B4 T
  567. CMP #CEND5 _- O" Y0 D/ B. m
  568. BEQ PLAYER_01_START2 y: M- U/ ?% r( T
  569. STA $0705,X
    ' R, @" }* o: y+ n) ~1 t
  570. INX/ B0 S( K0 q1 {0 l
  571. LDA #$00/ X3 K3 ^* s: @
  572. BEQ PLAYER_01_W
    ' v7 O$ z" X9 B/ P
  573. PLAYER_01_START:
    0 J1 H& I" _0 ]# M. K7 D7 b, q$ {8 g7 \
  574. JSR PPU_START
    4 y3 A3 W; R* X* p
  575. RTS
    - c$ U7 L! l5 X  I# _+ f0 g

  576. 0 |5 G2 j) L+ k. F
  577. ' `3 w, W/ g1 x0 c0 f
  578. RELIFE_P1_ADDR:
    ! b1 I' a. q* s; \9 Y. C$ i
  579. .BYTE $20,$E3
    : A1 v6 C3 ~8 ~1 [, O9 V7 D
  580. RELIFE_P1_DATA:
    ( ?+ ]0 z1 }7 G) K& |5 p
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND
    9 S7 B  D3 T+ f( S2 ~! Z
  582. RELIFE_P1_PPU:: |% i: _- w0 L4 j* `
  583. LDX #$00- }- N) e, w. ]& ~* ]# C
  584. LDA RELIFE_P1_ADDR, b3 b1 v  [. g" V' `$ S6 D  `" f
  585. STA $0703) v$ x% b) @0 g
  586. INX
    : [- A3 }) T1 M) Y3 Y
  587. LDA RELIFE_P1_ADDR,X$ Q* x. N, I3 b7 n  f' t! e
  588. STA $0704
    9 b6 p. i. `' @, D
  589. JSR PPU_PROCESS
    % Y8 P" [7 X5 L' E
  590. RELIFE_P1_W:! Y- ?$ Z2 H" Z
  591. LDA RELIFE_P1_DATA,X
    1 S% X; y! i3 j! v
  592. CMP #CEND( s1 [2 O6 ^. q
  593. BEQ RELIFE_P1_START, S0 b* S. @. l5 V9 V5 G/ j
  594. STA $0705,X
    ' s+ Y. L  E# z! r  a4 j
  595. INX
    . P2 k1 r3 p( t5 W4 h
  596. LDA #$00
    5 _* n4 n5 D# n/ ]% Z  V6 n
  597. BEQ RELIFE_P1_W
    4 n! @8 F$ {; ], ?1 Z
  598. RELIFE_P1_START:
    ) @% F/ l  q/ \
  599. JSR PPU_START
    ! t5 G8 g: Q- B* q& D) J
  600. RTS5 M2 {/ N5 J. i# u
  601. 4 K! q# S+ O3 ~8 X5 q! k

  602. , K; f" [8 L5 `& q, \, N  D+ Y% O
  603. RELIFE_NUMBER_P1_ADDR:
    6 f9 e7 Q0 S1 c/ b% c8 s
  604. .BYTE $20,$EA
    2 ?1 P$ K& x1 [; m! p' s; A
  605. RELIFE_NUMBER_P1_PPU:
    9 h( X: `; K3 S# ^$ C5 W; {
  606. LDX #$00
    " r7 y; J7 l! Z  h( @" K& x; j
  607. LDA RELIFE_NUMBER_P1_ADDR
    # l6 y' _" J, r# ?5 @+ Z% Y( ]
  608. STA $0703) P% H% [7 E0 ?8 F
  609. INX* S) K: d7 B4 N) i( n9 b. p- Z
  610. LDA RELIFE_NUMBER_P1_ADDR,X! j' d$ {6 G/ B
  611. STA $07041 k- j8 u1 C  c* R% [9 i% B! V# p
  612. JSR PPU_PROCESS4 {( L0 O( s' I$ |
  613. LDA $329 S( u" V) P3 x+ q7 X" x
  614. JSR LIFETODEC; b. a; @0 R8 b% g0 Y9 t
  615. RELIFE_NUMBER_P1_W:
    7 Q! R2 ^; s" z: @9 M; X3 {
  616. LDA $7A035 y5 K0 F" w/ U6 }8 f' a" |
  617. STA $0705; Y+ h( |5 p1 |, `3 x/ p; j
  618. INC $0705' u8 m& O  m1 d* G
  619. LDA $7A04
    * l7 E) E/ u. I5 j2 K& z9 T
  620. STA $07062 C* M0 C4 A+ L- j
  621. INC $0706' R' ?; j2 D; o6 C3 \
  622. LDA $7A056 W$ }1 x4 P& K$ u
  623. STA $0707* K( U# A& j* t0 j' i/ \: T
  624. INC $0707
    ' y/ R; G  x/ P$ F2 s% u: [8 g5 U7 ?4 x6 w
  625. LDX #$03# h9 r% L6 k6 {) c  \3 p
  626. RELIFE_NUMBER_P1_START:7 _* C' P7 K: G6 M  Z9 j
  627. JSR PPU_START, Z' V% e# S" m4 s
  628. RTS/ Y0 m  }) E1 d

  629. , c: F6 A+ K/ Z' I
  630. WEAPON_P1_ADDR:
    , V: l; Z& _+ n% V+ \
  631. .BYTE $21,$23
    $ x4 G. \) ]# s9 C% |3 ]: d
  632. WEAPON_P1_DATA:0 x2 d" Z/ s/ C$ w5 j$ b
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND! t3 R( a. S& S! O- w
  634. WEAPON_P1_PPU:* f- E0 e/ f( o& ~
  635. LDX #$00
    6 F4 v7 P* K4 Q
  636. LDA WEAPON_P1_ADDR
    * l9 ^2 Q4 }8 o# v
  637. STA $0703
    - _; d9 G/ x& |# F, Q/ R" |2 ?
  638. INX
    * u! R1 i/ [6 g+ P; j& J) A
  639. LDA WEAPON_P1_ADDR,X
    7 b% r' k/ [+ [
  640. STA $0704
    ) S% ^, ~# k; {+ J/ @- M
  641. JSR PPU_PROCESS
    ! _8 O* C" R( Y# s2 x( X
  642. WEAPON_P1_W:+ e# M* y8 m+ K; P, @+ z5 T4 H
  643. LDA WEAPON_P1_DATA,X4 \6 G* A* g/ x; R9 k% e
  644. CMP #CEND2 r& F- H! ]0 s" u; f! u
  645. BEQ WEAPON_P1_START
    ) B& Y6 b) \  [% p% R6 _9 }( O
  646. STA $0705,X
      ?  x7 v  G- C
  647. INX
    9 R( O1 y7 C+ V
  648. LDA #$00+ a5 w0 j! I; ^) P3 k7 `* R
  649. BEQ WEAPON_P1_W
    % R6 Q/ Z! [- H/ M: A8 A# s
  650. WEAPON_P1_START:$ O& ^7 D" m: ~* _9 T
  651. JSR PPU_START
    $ A  k% ^2 w  Q% v* v3 H  \3 T
  652. RTS
    & h& X' m! Q$ S  R

  653.   T# R6 }4 e" T. D! ~1 Z' F
  654. BULLET_P1_ADDR:
    & F. u1 Y  @) I$ F, Q; t& S1 r
  655. .BYTE $21,$2A
    $ a. x& q: i. Z/ M1 ?' l' t! Q1 Z
  656. BULLET_P1_DATA:
    / ^9 N( y. s+ a4 C1 J
  657. .BYTE $00,$01,$02,$03,$04
    + ]* T+ @) e9 G  t% p
  658. BULLET_P1_NAME:! ~$ y. }& g4 s3 `& _
  659. .BYTE CN,CM,CF,CS,CL
    % A2 W) K" L$ g

  660. ' l% C5 k5 W6 c/ |+ K& F0 _4 V
  661. BULLETPPU_P1_PPU:# S6 _+ \( e4 J* e
  662. LDX #$00* _2 H8 Q2 l. P" o
  663. LDA BULLET_P1_ADDR
    / }. l4 h" R- O( N. b- ?1 U  z' V
  664. STA $0703
    5 x+ A$ J4 w  T. t
  665. INX
    - o/ E4 M# c4 Z/ C5 \7 R  n
  666. LDA BULLET_P1_ADDR,X2 }6 G3 i6 X- S  [5 @7 W% J
  667. STA $0704
    & s: I5 j% a- x  O5 r# r5 |7 e  }
  668. JSR PPU_PROCESS
    + K0 \$ Q9 C3 Z! D5 k3 I! P* }
  669. BULLET_P1_WRITE:  B; d! z! W& f5 Z
  670. LDX #$00/ i+ B. s$ G: j& e
  671. LDA $AA
    # V1 K, C' m+ j9 A, m) \6 Q
  672. AND #$10
      w, O/ D+ V7 f; [
  673. BEQ C_BULLET_P1
    - J" ]' O! K0 \' c% G2 {0 ~! W7 i- m
  674. LDA #CS
    7 H/ M# E( M0 }& K' B' T1 Q
  675. STA $0705! ?1 O4 {7 b" U( @: O
  676. BNE B_NAME_P1) q, |& j4 r* j; H9 y4 L
  677. C_BULLET_P1:
    " c4 d% C) e7 A2 b0 T- F, W& t' z5 m. o
  678. LDA #CC# b, @7 k' k0 ~$ h2 E
  679. STA $0705; c2 }$ Z+ R4 {+ D! S- m7 [& ]
  680. B_NAME_P1:, D9 T& F4 L' {
  681. LDA $AA
    & S6 i8 b/ q5 g( V% o( {3 N
  682. AND #$0F- B+ I0 K5 D4 A
  683. CMP BULLET_P1_DATA,X7 ?' R# u, ]' D) K% q( [
  684. BNE B_NAME_P1_RECMP
    " N- l' s0 A7 [. P* B! Z$ j3 |
  685. LDA BULLET_P1_NAME,X# l% z4 V. u0 P# y3 o7 p+ L8 L
  686. STA $0706
    3 g0 r- B4 e) [
  687. B_NAME_P1_RECMP
    : p2 [6 `/ x. c6 y
  688. INX8 N! F2 k+ H5 I  [' y" e
  689. CPX #$05
    : l9 {; I+ g1 s1 q( W% A
  690. BCC B_NAME_P1* J8 w5 b- Q" V4 m
  691. LDX #$02
    5 J  `. z$ G. l( e9 J- d" i
  692. JSR PPU_START
    ( x) o- c% w0 N) n
  693. RTS, Z  f/ C& Y/ _' K, u3 U4 m
  694. ' a4 R: u, {+ R. B# g9 T
  695. 0 {, b( A: n6 v1 O# N( t4 @- [7 B
  696. PLAYER_02_ADDR:& t. g7 `% N0 m% Z, c
  697. .BYTE $20,$B3: f2 Z6 F+ j5 n) R6 j8 _3 e7 v
  698. PLAYER_02_DATA:# S; U' ^1 F: m
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND2 k0 g+ q, K. S& @3 G) |+ S9 O
  700. PLAYER_02_PPU:# d* j) x. x9 l! t! P2 H
  701. LDX #$00  j! H. K0 [5 i( r% y- f; z) r
  702. LDA PLAYER_02_ADDR4 K) j7 N+ |+ N: t2 U- t/ t
  703. STA $0703, M( D! X) `0 u* ~
  704. INX
    6 b: O' _" v+ p% Y& k$ z/ j- s% y
  705. LDA PLAYER_02_ADDR,X
    8 c8 M8 W  S- ~! D
  706. STA $0704
    : L2 n: P" Z& J1 W2 j7 U
  707. JSR PPU_PROCESS
    ' `! _$ N4 Z" B9 |6 K7 N; s7 b
  708. PLAYER_02_W:$ e; K: L) {# f* c3 |1 K
  709. LDA PLAYER_02_DATA,X8 Z& E* }6 D( m8 v* A: ^6 O
  710. CMP #CEND6 Y1 I7 l/ g) E# w# t
  711. BEQ PLAYER_02_START
    : C) G2 H0 d9 q( A
  712. STA $0705,X( k! H. h/ F' s" D0 h8 e
  713. INX
    * ?/ j# q2 o) v, L2 m
  714. LDA #$00: q  `* c* |! @
  715. BEQ PLAYER_02_W
    ! |2 m% x0 r  K, N" P! u% o! a
  716. PLAYER_02_START:; d1 r' T" |( E1 W
  717. JSR PPU_START$ D$ Z" e0 L  t
  718. RTS7 u' g& \$ j) c( T
  719. 5 I) a( {0 N! [" O" a8 N

  720. 9 d$ Q; G$ U3 M* c5 L. V. C
  721. RELIFE_P2_ADDR:7 w1 w6 H. ]( ^- `/ o
  722. .BYTE $20,$F3: g8 c' m9 W0 l0 @
  723. RELIFE_P2_DATA:
    1 {) G& Y$ }* O0 E5 a
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    + g+ o  H+ p4 w+ ~
  725. RELIFE_P2_PPU:! A8 D. ~1 j: M- R, q, R5 ~2 P6 Y0 q
  726. LDX #$00' a4 E) z9 b8 s% C  u+ F/ ?
  727. LDA RELIFE_P2_ADDR
    $ b( o0 V& P5 B/ Y6 q- l, X4 ]5 {' T
  728. STA $0703
    * d% |* r1 t3 {' r- s
  729. INX  s- ]( z9 ^+ T4 ?9 u, v# J9 a
  730. LDA RELIFE_P2_ADDR,X
    : ]" f. Z; }7 H# f. L. m. [
  731. STA $0704, Y" Y6 [# _# M% e0 t. X5 I
  732. JSR PPU_PROCESS
    $ o/ h. `$ r' z! T- q
  733. RELIFE_P2_W:
    + G7 X0 k' T& z0 W1 g  O8 j
  734. LDA RELIFE_P2_DATA,X: m  ]+ T" L% i8 ?1 {  p
  735. CMP #CEND  Q. B! R9 q! L2 E3 }& C" Z, k
  736. BEQ RELIFE_P2_START8 X1 {/ }9 }% M6 z2 [# n. v
  737. STA $0705,X7 c$ w& |% P2 T8 \. L9 e9 j, b
  738. INX4 y" z( e' w* ?8 ^$ D8 Y) `
  739. LDA #$00  z# i. s2 n0 H/ F
  740. BEQ RELIFE_P2_W' s  \% y) o/ l3 U" Y
  741. RELIFE_P2_START:
    # ~* S) u3 e3 g2 f, u4 G: b/ o
  742. JSR PPU_START
    3 B- b# \4 {! k+ o" v, X/ x
  743. RTS
    1 m2 H; H1 D7 Q7 C3 }
  744. 5 m5 X( t/ c% K+ g3 i$ D
  745. / ^* ~- w% E3 N3 F5 {
  746. RELIFE_NUMBER_P2_ADDR:2 ]" q1 _  ~# P" L4 f* g8 B
  747. .BYTE $20,$FA1 A/ E3 w- j- h- _
  748. RELIFE_NUMBER_P2_PPU:$ b) p6 n) l. V" j+ ^) Y! b
  749. LDX #$00
    % n0 {( p/ _3 b# Y2 D
  750. LDA RELIFE_NUMBER_P2_ADDR# J  v0 J3 P, n
  751. STA $0703# C/ o. k7 V$ N- R8 [/ C( `' F  K' `: F
  752. INX  q, v9 c7 f3 R+ p1 X( Q2 y/ t
  753. LDA RELIFE_NUMBER_P2_ADDR,X  e* j0 A( L1 D3 r1 S. J
  754. STA $0704
    # _  Q& E4 Y; ]1 G1 p# U8 R6 `
  755. JSR PPU_PROCESS9 X) ~& v7 o3 o' m5 v) |! `
  756. LDA $33
    2 x5 j9 h0 s5 X& ~8 w" A. \+ q5 d$ ~
  757. JSR LIFETODEC' Y+ ]; z1 ]; t# Q1 x& g9 I
  758. RELIFE_NUMBER_P2_W:
    7 j) {) z, H: d* o( _
  759. LDA $7A03  F8 O. O$ w8 s
  760. STA $0705
    3 `8 W5 `4 E0 d- @, M4 \3 h
  761. INC $0705* K  M" w; h' ^( _" i6 P
  762. LDA $7A04. }( M7 ]! B6 i4 R7 c
  763. STA $0706  P: ~4 q9 [- \2 o
  764. INC $0706
    : ?+ S9 a# a% L/ t
  765. LDA $7A05
    . I1 Z( ~: E0 E
  766. STA $0707
    2 Q6 q# a2 m3 b- {, A
  767. INC $0707- |" C3 p! t/ X% R- ^
  768. LDX #$03+ e$ ]: A3 w" P$ m2 }- J8 T
  769. RELIFE_NUMBER_P2_START:; D7 U% k1 A& c  y% r  v
  770. JSR PPU_START1 B" a7 @9 K& O% I% Z0 m1 [! N. z& C
  771. RTS: f/ u" o- U, X0 F7 ]; O! U7 h% G

  772. % W0 P; i0 ]; S8 `& M0 i( j
  773. WEAPON_P2_ADDR:' w5 [' z' A( l6 \
  774. .BYTE $21,$33" G/ q7 C% n6 Q% X& d. \
  775. WEAPON_P2_DATA:# X& j/ @# ^" f! D( y. Z
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND  w  `  k" b: o: _( ~3 N
  777. WEAPON_P2_PPU:9 u% p8 `- z9 ~4 v$ K
  778. LDX #$00
    9 _1 R) l; X- J* y
  779. LDA WEAPON_P2_ADDR  B0 t3 L! T' B) g0 m
  780. STA $0703  O8 f% h) |/ ^: C, O. d4 {
  781. INX
    3 k' x9 E; p- o$ R: N4 j$ Y6 Q$ m) w
  782. LDA WEAPON_P2_ADDR,X
    # N1 F% h( U3 w
  783. STA $0704
    3 |( t* l) l  D: h3 [
  784. JSR PPU_PROCESS
    0 ~; w2 q" c& I/ o
  785. WEAPON_P2_W:* a* `" ]" C. h& U; |* B
  786. LDA WEAPON_P2_DATA,X
    * g. T! ], r6 V- V$ J3 {" S5 m
  787. CMP #CEND
    / r2 d. C/ J  w- ~  G' S
  788. BEQ WEAPON_P2_START, f# l! G2 ~+ o
  789. STA $0705,X2 L9 \1 r. b9 a! ?# @
  790. INX: r. H2 B& s3 m1 Q" L
  791. LDA #$00
    - U, ?# t9 n* q, d2 C
  792. BEQ WEAPON_P2_W, W9 p9 m3 P2 E" n5 _
  793. WEAPON_P2_START:! }% R6 z$ m3 B4 y
  794. JSR PPU_START: V9 R( g- t0 Q! C
  795. RTS0 N' F# C  \3 ~! o
  796.   H  b2 C; G+ a4 R6 @
  797. BULLET_P2_ADDR:
    ; D- _- }0 b; r) z5 l
  798. .BYTE $21,$3A
    " o2 T# o6 c, ?. Z" Q
  799. BULLET_P2_DATA:
    : F7 I- U8 C7 ], ?8 M
  800. .BYTE $00,$01,$02,$03,$04
    . j* [! n" ]7 W8 W. O0 v
  801. BULLET_P2_NAME:% ?' h  `1 `/ F
  802. .BYTE CN,CM,CF,CS,CL' k- b7 }& k# O0 ]
  803. " z6 v- f( I: E' W$ {+ \* s
  804. BULLETPPU_P2_PPU:
    ! X5 ~8 R& `+ m" E
  805. LDX #$00, b$ _; Z7 _. r* m8 v6 |% F8 {
  806. LDA BULLET_P2_ADDR! d7 P5 q+ W, G5 M( f0 F' P3 \
  807. STA $0703
    2 s8 B+ m1 w% g4 R* O7 [' E6 r* o
  808. INX: s& i8 V& ?: b: ]
  809. LDA BULLET_P2_ADDR,X8 L$ ^; u- i  ?" ~
  810. STA $0704
    - r" B5 a9 t; [, n
  811. JSR PPU_PROCESS
    3 N; j9 ~; u/ ?: N
  812. BULLET_P2_WRITE:
    & u2 j/ q& ^7 C( j' F7 U% U- d0 ]
  813. LDX #$00
    3 L" o: V. d/ D
  814. LDA $AA" f. w% C0 E$ ^2 x
  815. AND #$108 u' Y0 w- ?6 M7 _, n2 W; [
  816. BEQ C_BULLET_P2( x. n) h" ]5 V; @
  817. LDA #CS
    ( ?& R$ `% B3 h
  818. STA $0705
    $ O% \! X# m2 i9 D! o
  819. BNE B_NAME_P2
    " _0 r. c: o3 v
  820. C_BULLET_P2:
    ( v% ~( K' C2 J
  821. LDA #CC# {0 y3 F) `1 }
  822. STA $0705
    ( s5 @( {4 ^6 [6 S+ l9 @
  823. B_NAME_P2:5 U4 Q- B1 w0 f
  824. LDA $AB6 k6 d$ c$ s0 x. U
  825. AND #$0F( w) c  V5 S; p# a9 M$ r* V
  826. CMP BULLET_P2_DATA,X
    5 ]  K' ~+ ?& L  C& c2 Q5 B: A1 z
  827. BNE B_NAME_P2_RECMP
    % h7 [* E# e, S* e9 K7 U6 h- N/ a, ~
  828. LDA BULLET_P2_NAME,X
    " @! _) v* d. a& b/ P- I% j4 J4 y
  829. STA $07062 \' x) l* P% |' [% W! B- {3 v* _
  830. B_NAME_P2_RECMP" E6 C- E1 ?. V( P, e
  831. INX9 Y4 B. J* ]/ B4 V) X
  832. CPX #$05( F3 ^6 w; |0 U0 j) ~
  833. BCC B_NAME_P2& W: L, C6 }6 j, m0 Z1 u5 S
  834. LDX #$02
    ! S$ H1 r' m2 ]; |; _6 n7 G6 m
  835. JSR PPU_START$ |2 E/ G9 E; Y$ ~  s5 t
  836. RTS
      m5 k  g+ r! r; o1 Y

  837. 8 K5 E7 n+ `# a: a6 f

  838. 3 x4 S! H" Q' [0 L

  839. " w% Z0 A! U; E
  840. : T* i& H$ F- J
  841. * X5 e- g( C9 l- m

  842. + Q5 [3 w' ^5 y6 w' s# ~- n
  843. LIFETODEC:                ;十进制转换! P7 r& j% f: g' E
  844. LIFEL1:        ;initialise
    : N. X( ]: T; N& d/ V
  845. STA $7A00        ;$7A00=F3
    + K# |5 f) Q5 Q* n9 E4 L
  846. LDA #$009 c7 b  R1 N" k4 C+ o% a5 N. J: u
  847. STA $7A03        ;$7A03=00- W( U7 Q2 E3 ]/ ~4 r" b
  848. STA $7A04        ;$7A04=005 o* X9 a+ V! w* z
  849. STA $7A05        ;$7A05=00
    % ~7 D" ?6 r3 t7 t3 ?6 v
  850. LIFEL2:        ;copy data $7A00 to 6001
    : J9 W! {* |* k  g6 O$ N
  851. LDA $7A00
    : g4 P% Q" {" `0 U: m. u
  852. STA $7A01
    7 P% |% b9 M% M, [4 T7 i4 W

  853. ! v% ]3 Y4 P# W# u! V
  854. LIFEL3:         ;hundred  f- Q' Z1 X) Q4 M! C. [: H8 n# E
  855. LDA $7A01
    7 p+ U# z+ P9 ]7 P7 A" v
  856. CMP #$64
    * ]" C5 K$ H' J
  857. BCC LIFEL6                ;$7A01<100 goto L6
    ; Y% k  h, o% n. c: ]
  858. LIFEL4:
    0 p1 S8 Z/ y- q9 A8 U8 X
  859. LDA $7A01
    " m, m4 p8 ]( i; S. g9 ]
  860. SEC
    ) p0 N+ \) [% ^2 S  L- k
  861. SBC #$64        ;$7A01=$7A01-100; k9 C, j7 ?8 H3 s) t
  862. STA $7A012 \( Z( m% r  M& V3 L+ T
  863. INC $7A03        ;hundred++
      s! w( E; _' g, i; i; o6 @, h4 w
  864. LIFEL5:8 f* C" P( M3 c- }
  865. LDA $7A01
    ! U: v- @! T3 K8 j5 j# S" F7 F
  866. CMP #$64
    3 [# O; ^$ x9 l! ]5 ]
  867. BCS LIFEL4                ;$7A01>100 goto L4$ K* C& [% q; \, u( g/ x

  868. - x2 }! K' x5 k0 V: I. A+ ?6 _
  869. LIFEL6:        ;decade* r" A3 O) n5 `; D- h
  870. LDA $7A01
    " y5 p( |) c# Z% m# I( a. q! x, t
  871. CMP #$0A# h& E& _2 c/ q6 \/ J1 f0 K
  872. BCC LIFEL9                ;$7A01<10 goto L9
    - {  O/ T" ?$ ~! n* t' v
  873. LIFEL7:       
    ; j1 p9 r' H& h5 H
  874. LDA $7A01
    & J5 |8 W* [6 y9 o8 @7 X) j
  875. SEC8 u" h& r( G3 Z* |/ p' |$ T2 ?
  876. SBC #$0A' c  y2 E. p1 r, I
  877. STA $7A01        ;$7A01=$7A01-10
    ; O( h6 v/ w7 A3 e- ?& N
  878. INC $7A04        ;decade++
    # d& }7 B; c8 P3 ?0 O4 |
  879. LIFEL8:
    1 e& u9 g( i' o" K) d
  880. LDA $7A01  D' Q% O; b1 t( n" {
  881. CMP #$0A) U, T3 x* h( z: I( q" U7 Q9 r
  882. BCS LIFEL7                ;$7A01>10 goto L7: Y, V4 i7 s: i! B+ [
  883. ;unit
    5 {$ C" R2 `0 e: z, x4 a
  884. LIFEL9:* q2 @* L; `) T' l) {
  885. LDA $7A01        ;$7A05=$7A01/ e7 J2 J( k0 a8 P. Q  c
  886. STA $7A05        ;unit
    5 E; V2 w* Y4 ~- ~2 Q7 V# Y  T
  887. RTS        ;return
    1 G3 f- N7 q" j8 |, G7 }: l
  888. & V9 }( g) C. n$ @. j% b
  889. , i$ ^7 Z# H0 j3 W6 ?0 @! F

  890. ! Y. P0 H- L7 k
  891. PPU_PROCESS: ;PPU地址处理程序
    , ^% S% O% C0 o
  892. LDX #$00
    % A& C7 [7 l0 L/ V$ O; E
  893. LDA $FF* E7 `* Z9 S( G4 M
  894. AND #$01  e* V/ f6 [* q; ]$ M4 g9 M
  895. BNE PPU_2400_27C0
    . g" g( Y3 d$ ^' n! n) a4 x% }9 n. g' ^
  896. PPU_2000_23C0: ;命名表1  [3 V0 M. S; S
  897. LDA $07031 ~8 j# n" W+ X: a3 Q
  898. AND #$FB: p2 ?) L0 @$ Z1 z, ~
  899. STA $0703/ k. H1 L. R" V; o; I# B
  900. RTS
    " W( J$ b' @6 Z. D' d
  901. PPU_2400_27C0: ;命名表2
    0 d, `" w) l, e7 E
  902. LDA $0703+ t% R+ x6 K. @3 M- t. f: R7 a
  903. ORA #$04
    6 L" Y: o; ], T  j
  904. STA $0703/ \/ B1 \" N0 I. n4 ^( u* z# I" e% b. `
  905. RTS
    4 q, N" `9 ?8 B
  906. " \# U& Z; Z' U6 H, \( g. E
  907. PPU_START:  ;PPU数据写入
    8 d* E" x! r7 d. @# o# A- z- @- G
  908. STA $21
    & S! _. t% }( p, ?
  909. STX $0701  V, A+ C+ U, ]) c0 C4 P
  910. LDA #$00
    . x7 N; ]  S* F' ]7 k
  911. STA $0705,X# h, I0 x$ Y& [
  912. LDA #$01
    ' Z5 a! `' L7 L6 O  L. L
  913. STA $0700* j2 U# K  Z; c2 S  `
  914. STA $0702
    5 D4 B% M& {( c2 D* Y7 j
  915. RTS8 [1 m& J: O0 {3 |3 v) z

  916. 0 O* r6 T) K6 p5 ^  Q; a$ y( \

  917. , Q9 {1 P2 v& y- n& B# [' k1 z0 N
  918. 7 s# H- W2 G2 D
  919. 2 f# y( |* S) }  @

  920. 7 f! w0 J$ e, V
  921. 2 p) K# T: U! s+ P
复制代码

4 ~' t% u9 K6 S4 v( O

本帖子中包含更多资源

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

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

签到天数: 2167 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!
0 W3 c4 k  H% e) S/ `/ u5 x

签到天数: 2552 天

[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-4-23 03:09 , Processed in 1.160156 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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