设为首页收藏本站

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    4 u6 m' l- A1 U" l, U* y
  2. 作者:FlameCyclone; I, W3 W3 _0 t8 \- |1 Q; o
  3. 时间:2017.2.12  A' r" Z0 H) }" e3 d, e
  4. * w# d2 b) Z+ U: X  i  }0 X
  5. 按键跳转:
    6 t# N2 r2 S, a
  6.         C1EF:95 F5 94 F1. L& L' {4 c  s% q+ N& g# B2 n$ ]
  7.         C1EF:20 70 FB EA  u8 K+ _  P) W3 W8 U1 [& Y( w

  8. , `8 n% L6 B& E7 n, }7 c
  9. 滚动偏移:
    . m7 _! N3 Q$ j2 K
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20
    7 t9 B! p8 X, \3 t5 w& M0 w3 k
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    2 V$ p( ~# _, A* a$ V& B8 P

  12. - R. H, B& C( k9 |; K0 D2 Q
  13. 背景调色板:
      i) w5 S* k# D: |) U
  14.         CF20:9D C0 07
    : X1 k0 S4 [& L) k
  15.         CF20:20 A0 FB2 d. u7 H; d) |( v* J0 ?8 @

  16. $ m  w! Z1 N) t7 N2 _7 }7 R! E' p
  17. PPU BANK号:
    6 a; w  ]1 x# _) d0 H
  18.         C8C9:9D F4 07$ X3 Q$ p* }4 }6 c: E9 u8 h
  19.         C8C9:20 B0 FB
    : o  B. S/ p& T- ^2 Z
  20. ! r( `" ^4 x6 P8 I' I
  21. 按键跳转:
    $ F9 B7 s. f3 I6 t2 L4 x
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20$ o% \, w8 N) I' M3 t  v
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    ) z3 i1 j& z( @! g
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF
    2 f( p/ o0 G. g3 w$ K

  25. 8 m# A3 B: N$ c+ b- h% L5 |  S
  26. 背景调色板:
    & ]) ]  J( }) S) a3 c; O* _8 E3 F
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF
    9 Y7 d. w; p0 ^4 c3 J: y) E

  28. # B, h! b; o' z4 d8 v6 r8 o
  29. PPU BANK号:" W9 q9 S1 u) ~
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF
    ! Y  g; E! M8 V2 c, T

  31. " {' `: J3 ]+ U: Q. F3 w! O" k
  32. 滚动偏移:
    5 S2 ~5 q- |1 v+ @0 c$ `( ~
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60
    ! z  }6 s* O" t3 W( ^
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    ( O! v5 }7 X- S9 N* X1 @
  35. ' j6 }5 m( `8 c! |  ~; w
  36. 7 \, g7 v- y* }# ~4 P: W/ G  v
  37. 切BANK后A000:
    5 G, O  F$ A3 Q) d$ c
  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
    : E, Z6 {" v1 @0 ~# C
  39. $ K& d% H7 [2 M- \% v( y
  40. & d' ^+ r- n4 R
  41. 6502 simulator:
    * [$ r# p+ L0 i1 a6 ~* N
  42. PPU写入程序:- x: d4 Y- l' Y6 C/ ^
  43. .ORG $A000
    2 _0 K6 w5 |# V$ O& W' s
  44. CSP = $80
    3 s. j! W9 Q8 n! Y: D+ }
  45. C0 = $81& ^+ @* ^9 ^  H# L3 v& p$ @, ]
  46. C1 = $822 a8 i! E' g/ ~
  47. C2 = $83
    " \; |7 c. A3 ~' s' t7 o1 }
  48. C3 = $84
    ) J% j$ z1 o6 N$ I
  49. C4 = $85
    * q: `/ B8 J& _$ s2 Q6 E- {# }. C
  50. C5 = $86
    0 H. I3 t6 R$ N6 M! t, u1 k
  51. C6 = $87
    7 \6 r1 J! Q- I
  52. C7 = $888 C7 W% M: w$ X* x) R' }
  53. C8 = $89
    8 h' f- h- H# a2 s9 j$ ]1 z" j
  54. C9 = $8A
    / e7 L7 l6 H0 X! `' r% j7 C! o
  55. CA = $8B- S( |3 r. i: H8 u4 N
  56. CB = $8C
    9 U' [; C. W9 ]6 ]
  57. CC = $8D- d; c1 F* p, D9 j0 }& D
  58. CD = $8E
    ; b# @% [* j! J5 g5 X6 r0 o' q
  59. CE = $8F
    ! f* R& X0 D' P3 X, I6 \& _
  60. CF = $90
    " y% c. F+ T9 h+ D  s/ m
  61. CG = $91. V6 J/ R' I4 [0 }  S8 \
  62. CH = $92
    , V! D3 a  e2 s
  63. CI = $93
    2 E' i5 \" z+ t0 h
  64. CJ = $94. a$ h- A, Y! y! b% O: Z
  65. CK = $95: ]/ [. \+ _( L: i0 c4 u
  66. CL = $96
    8 g  i- ]: ~3 W1 r" K* X8 b
  67. CM = $97
    - a- n9 n; a2 }. d! t
  68. CN = $98, u; d2 `- ]. g/ B; ^7 q
  69. CO = $99; P& \0 S# s/ j3 v; `$ X, K
  70. CP = $9A, T5 b/ x: f8 H
  71. CQ = $9B
    , M6 [6 o- I4 x. O
  72. CR = $9C
    , y/ Q6 e' S2 t# z/ D4 ^
  73. CS = $9D) n) ^: ~* y  w$ c% I. h1 Y) ^# K
  74. CT = $9E9 k4 R( l) W* c: a) K' H
  75. CU = $9F. M7 T/ X/ @+ R3 w- H
  76. CV = $A0) e( f$ ]  ]: Z
  77. CW = $A1" f6 W$ O( c# c- p: _) i1 P
  78. CX = $A2
    : c5 N" |+ j5 i
  79. CY = $A39 Z5 p  X; p! E2 n& Q3 T0 j
  80. CZ = $A4, M" n4 }# a* f/ y/ N
  81. CEND = $FF* Y) K  _' g# F$ |  j
  82. : Q2 f8 {! Z' z) [2 E( T- i  a
  83. % P4 E. }& d. C1 R4 k
  84. CMP_RE:1 [$ R5 D8 X- N9 R
  85. LDA $FF# f0 Y" l/ B+ J. M- d
  86. AND #$7F8 `- y0 m( C* M* J0 t5 y
  87. STA $2000) s: H7 _. S  @. ^: p
  88. LDA $2002
    " R/ V& i# D+ N; \/ i1 X* s
  89. LDA $25
    : Q0 D3 Z- C) t1 E/ F, e
  90. CMP #$01
    & ~& Y5 G2 |+ L- ^( [. U7 X
  91. BNE PROREG
    1 ~. Y/ R+ n" f; x9 B" K: L- V
  92. LDA $F5,X  ^( T: J5 h3 U  K3 \
  93. AND #$CF, p  M! b. O! Q
  94. BEQ PROREG- T- r* m( \& Y0 Q4 _' u
  95. JSR PPU_CMP
    ) {6 w( z% I2 i/ C0 x  E5 L
  96. C_RE:
    ; u5 D& D% `9 Q2 P7 u
  97. RTS
    * z# E; X( `- H) I( z: a8 ]
  98. PROREG:) g. M& j% Y& u3 L/ {
  99. PHA
    8 b4 k* C. T; Y5 r
  100. TXA
    ; J! J; b3 a, [; L" @9 W
  101. PHA3 Q0 K/ ~" b/ y" S7 j. z2 Y! X8 s
  102. TYA
    - g  i. p4 _; M3 r
  103. PHA- ]3 x( V9 h9 J0 C$ Y4 X# \& _: M
  104. LDA $25
      ?, I5 Q. u- b$ h- z
  105. CMP #$01" |6 ~  n0 l! E8 ]
  106. BNE RE
    / @0 w) Q3 z! Z* A4 w# ?: O
  107. LDA $010A3 l5 _, f# D8 p6 E, M
  108. CMP #$00/ j, e/ e% \' C7 G# w
  109. BEQ P1
    5 h' {8 y. O4 _( l5 J
  110. 3 w. u4 A' j0 V5 r
  111. RE:
    " r. z' U* h' u' b2 i
  112. JMP PPUWRITE$ Y/ R3 s7 t7 m" }7 A. X

  113. & b+ \- q6 I4 z. ^( S7 T( _- h
  114. P1:                ; 条件判断
    0 d$ y2 A7 [  s* |- o# B* c
  115. LDA $7FFF
    1 b3 n$ e/ n) Y' f/ g
  116. CMP #$FF- ~7 |$ J$ w/ F
  117. BNE P1RP$ @, T4 o* r! j$ s7 D6 D
  118. LDA $7FA0
    - D- {1 K3 V  }0 Z7 I: o, s  w
  119. CMP #$008 S; n8 O4 y' i
  120. BNE P1CMP
    5 f" h% l6 v& c- t
  121. LDA #$FF
    ; Z/ ]; q" ]. k/ c, t7 c8 \
  122. STA $7FA0
      |# X9 E8 d, t$ M" D
  123. JSR CLEANA0 W5 E- Y) L1 H+ f4 n5 f
  124. JMP PPUWRITE& K+ _2 X2 Q" q5 N7 }7 z
  125. P1CMP:
    1 g( j5 [7 k+ _- t1 \/ R  K
  126. LDA $7FFF
    9 `) d/ L- u: O8 y5 x4 S0 y6 |9 {
  127. CMP #$00
    " D9 `; m% ]' p7 ~. F& T
  128. BNE RE5 W# h! @4 R. ~4 U
  129. P1RP:
    , C) ?; ~6 l8 a' j% w6 d( t
  130. LDA $20023 J- f, T( @5 d
  131. LDA #$00; J& L* a, ^. f* m; W
  132. STA $2001
    * p- |3 D/ u3 R: a6 T
  133. LDX #$009 Z7 I! U2 g+ m
  134. LDA #$FF2 Y: ^( E' r% i
  135. STA $7FFF
      c4 j! t! ^- B) {" D1 i( ]
  136. STA $7FA09 \, l: p/ i) ~1 I! o
  137. JSR COPYPPU9 d" c( \, w: r0 i, d
  138. PIRP2:
    + g3 P! I9 G  X
  139. JSR CLEANA
    5 {- T( d( O. B/ N% z& s- [
  140. JMP PPUWRITE4 @, m; h$ l0 v% r
  141. 8 k, v. S! k- L# D/ X8 V
  142. COPYPPU:
    & u; H; p) l: d! W
  143. LDA $FE
    ; V* P8 s8 Q/ V
  144. STA $7F50
    % Y  a0 I7 q2 T: R& @  ^8 h. M
  145. LDA #$08
    : Y& G# ]6 |( p8 T7 X9 q% ]
  146. STA $FE# C( a4 ?9 y' r- D8 o, x
  147. L0:
    3 k6 T- c% i4 E! k
  148. LDX #$00  q( R) H  `0 B% h
  149. COPY_07C0_07DF:/ S. I3 R- Y. \3 N
  150. LDA $07C0,X
    * Z7 ~+ ~9 \2 F# a, R& T4 y' z' Z
  151. STA $7F00,X
    4 [: M* s5 s/ T1 O; a
  152. INX
    2 @' E( ~& Y6 w) B* `
  153. CPX #$402 w# D1 \* V8 P: P( E( `8 l
  154. BCC COPY_07C0_07DF
    4 |3 }6 B9 f9 w+ n
  155. LDX #$00/ h! X2 ~7 K  R" u- Y
  156. PPU_07F4_07F7:/ u) U8 g! `( g* a- n$ [- h3 i9 Y
  157. LDA #$00
    $ j$ ~2 r7 E8 @5 |
  158. STA $07F4,X
    1 l5 \; w9 a3 G/ {
  159. INX
    % Q' y/ B1 J+ N8 ^
  160. CPX #$04
    , _, N4 R% ?/ F$ T
  161. BCC PPU_07F4_07F7
    ( ?0 Z7 b/ p: v  G
  162. LDX #$00* [; n) P7 F2 M* H3 @+ C
  163. COLOR:
    ; f8 H1 t  [9 Q3 W4 d* d/ ?
  164. LDA COLOR_DATA,X" ?6 f# Q% v" b, [' T+ R
  165. STA $07C0,X
    ; p: _. f, K# G3 w/ x& B
  166. INX2 z9 v& _  E& `% ~
  167. CPX #$10
    8 {5 ]# `+ A& O  \
  168. BCC COLOR
    4 `! D* j4 t( L
  169. 5 P- P) o1 b# ]' ?- g. x, h- f2 b# _
  170. PPU_COLOR:
      w7 @/ k) v0 U, y1 _
  171. LDA #$3F+ {7 c! W/ m7 E- R$ C
  172. STA $20060 f" w8 p' j' D
  173. LDA #$00
    3 [( `" ?7 w, n$ N
  174. STA $2006
    $ _' M8 a; {0 j" K1 N
  175. LDX #$00
    ! T: Z+ X2 p1 J7 O. Z2 _+ M
  176. PPU_COLOR_W:
    % a2 P. Q2 l* _3 ?! e! K
  177. LDA COLOR_DATA,X
    % A9 k! v0 b; g2 x4 o& u0 O* ^
  178. STA $2007
    2 p3 R8 N6 t  L  y9 i0 r( n
  179. INX
    " w- \, e& X  ?# e5 C- {
  180. CPX #$10
    / c2 E* |# ]) Y& l. j
  181. BCC PPU_COLOR_W
    9 J5 G, _+ Y; N! P

  182. 5 M$ {. G7 u7 x- E& p

  183. * p% z* T( H$ {# ^$ x
  184. LDX #$005 {5 m/ O/ |, M
  185. LDY #$00
    1 g9 j& Q* x4 U$ C6 v
  186. LDA $BD1 {  V) s; b0 Q9 P
  187. PHA3 v; J% |! s& Z3 Z* C1 x2 h) r$ @6 x
  188. LDA $BC; @% U7 X  G  X  K8 E* K/ O
  189. PHA
    $ q. v3 B& n  G# P! z* D  P
  190. LDA $BB0 p" r# C; V+ G% w% [( R
  191. PHA
    ! [( v6 ?, R% M$ s" Q6 x. \
  192. LDA $BA
    / M0 y8 D* Q$ e
  193. PHA3 G. ]4 q# J6 }" y/ ?8 D- k
  194. LDA $B9
    9 f; J5 V  Z# J% C  [) I
  195. PHA+ @/ ^9 N: x6 H" X# ^4 R7 u
  196. LDA $B8
    : L2 H. t% V* \, j8 a* @
  197. PHA/ y9 H$ D/ w4 F# J$ c% z7 [
  198. LDA #$00; _; ^3 ]4 S* Z" b$ v) k
  199. STA $B8
    : ]! L  P* N/ h: J/ Q7 @
  200. STA $B9' ]! c0 O  @& \; |' f  |
  201. STA $BA+ y0 B+ c% i2 Y! {- m6 g
  202. STA $BB- W3 w) p' ?$ g
  203. STA $BC
    $ F' y2 p% `% E. Y, ]5 U; M
  204. STA $BD
    2 z  ?4 N: s$ \& H- x0 @
  205. LDA #$00
    ) U9 ]( W" j8 \  }
  206. STA $BA+ h5 S  p$ e; @! l, n( s7 I
  207. LDA #$20
      H2 T; P& U) c  b9 p1 {6 T
  208. STA $BB3 T3 c. Q' }! \3 c& g4 a
  209. LDA #$00
    ) e  n8 [$ A; G+ X# ^
  210. STA $BC
    & z) N& X5 ?% t5 y! X7 m
  211. LDA #$60
    0 w* ^- V# p& t$ |+ P9 q% t& y
  212. STA $BD2 [( |; g0 |& A* b+ F" W

  213. * b% S, r* r5 G$ R
  214. L1:                ; PPU复制
    . E( M4 i' B5 F5 |
  215. LDA $BB; q% O' S$ v2 K( x1 r
  216. CMP #$28
    & e1 I2 l" z* D3 m; r( a4 |
  217. BNE L2
    ! \# ?, b+ Q% I# b
  218. LDA $BA8 m0 l/ {/ J3 V7 [/ ]/ F
  219. CMP #$003 x: l1 l( o  F; f- }& {4 ?7 o
  220. BEQ PROADPLA1 h2 C7 m& K2 E0 F& B: @
  221. : C/ K2 U9 Y% d6 H% Q( B
  222. L2:; @' g! \" U! u5 R9 g
  223. LDA $BB% u6 o& P3 F! b2 ^
  224. STA $2006: \6 M3 k4 Z- }
  225. LDA $BA
    3 n( F! i$ d8 ]% J
  226. STA $2006+ I2 A) |  e+ a' Z/ ]
  227. ! {7 M+ ]* f; a0 Z" j
  228. L3:
    ! l# [  S& b/ S% K
  229. LDA $2007& s" D& H) {7 A7 @: w; ]7 ?6 h
  230. LDA $2007
    5 C, z! v. G1 k/ C; A& i% M
  231. STA ($BC),Y* x- @$ I. p* W3 a) i# Y; I

  232. # P7 p% ^, t  y' w5 M; U* |
  233. L4:
    ! c: G/ }" ?+ S; N# t/ M9 c
  234. LDA #$00
    ( w( i6 y, A; R# `& t- w6 P
  235. STA $2000
    ' j; x: u( I: c! {* W# K! X+ y& ^+ M
  236. INX
    - `, [* x/ H; o5 ^4 V+ I8 t- F4 R* |
  237. INC $BA7 V3 s/ X! F# k
  238. INC $BC# a: C& ]# Q# Q4 p
  239. CPX #$00
    4 t. x. a% K1 F% k9 F- |
  240. BNE L1. ?7 O" Q7 W0 B' M
  241. INC $BB/ K5 K# b: U! `! l$ i# o, q8 f4 u7 A
  242. INC $BD
    6 l- n. W9 A" h" |. q
  243. JMP L1
    : X$ W& o( l4 z; r8 W* M0 y+ B

  244. + S# ~' r, H" B1 X6 L
  245. PROADPLA:                ;出栈
    + u+ [1 A- ~& q) h* a6 l( t) h  S. C
  246. PLA0 A" Z2 g" T8 r7 h
  247. STA $B8
    ( }; I2 L' ~* ?/ \- T( c
  248. PLA
    # X# V, I) Z0 {! E
  249. STA $B9
    & c2 L' w! s( i5 u% _
  250. PLA
    - f; e: J+ G) C7 r  k" e
  251. STA $BA
    " B& ~6 G- H7 Y7 ?$ @3 A) m. [
  252. PLA3 O7 O0 n8 j) U$ ~
  253. STA $BB
    2 \% O# ~1 p- J' l; E, X  E+ L" l! n
  254. PLA+ n: y7 K  O' Y# A( O
  255. STA $BC' P& V* S$ H& t0 n6 [# A
  256. PLA
      I$ V! x+ m1 i# u' v
  257. STA $BD8 B  \" A/ J) X2 G! z
  258. CPRE:
    5 }6 z" q% D; H9 @/ }
  259. RTS) J' Q0 B1 I7 h7 T
  260. + s, `3 h) _$ f, {; p1 B6 o
  261. CLEANA:                ; PPU清空3 ^) w: \( ?/ G' ?1 @3 w
  262. LDA $BD
    ; N5 D: H/ ~7 ]# G! r
  263. PHA; c% R) @$ j* O, }' {
  264. LDA $BC+ v9 \4 z# I8 n1 ?- Q. a, M( f
  265. PHA0 b/ O% |+ d; [  B; k# W
  266. LDA $BB
    ; B% u( J; ~' H& q- P6 B  f" i
  267. PHA
    / R& \2 z3 M; j: C9 Z9 u
  268. LDA $BA
    ( l' _$ g/ R* d% P
  269. PHA8 C! R5 r/ d' G8 q4 r% y
  270. LDA $B9; C$ M' o: y! C( A# a; N! S
  271. PHA3 P6 ~5 R# W2 y( N
  272. LDA $B8
    8 P: P% Y, ?" }/ k. k% ^
  273. PHA
    . \1 o) A+ e/ D! l8 V4 K2 e) K9 g
  274. LDA #$00; n! L3 H1 i6 h( y2 @( h
  275. STA $B8& ?2 h8 m5 m+ j/ W) S( K
  276. STA $B9
    ) G+ z& k# o' f3 H
  277. STA $BA
    ; M7 K3 C8 `8 G  d; l3 r
  278. STA $BB
    1 B- G) C$ s5 F2 k/ \  G/ a
  279. STA $BC
    ( J& z4 B. _/ a1 M! s! s2 n
  280. STA $BD
    . U: C3 s+ P$ ^6 v) I  A; i
  281. STA $2001  S& k+ U  u7 w, f% [2 O' Z
  282. LDX #$008 V+ l0 q" z7 n2 @3 l5 f# y) i
  283. LDY #$00' f1 Z' q6 d5 o7 w% Z! G
  284. LDA #$00
    7 f  L. Q5 g8 u. W( o2 M7 ~
  285. STA $BA
    % M/ x# V- M8 k3 {* b. i" l  m
  286. LDA #$20' X4 t( W3 E& [5 g) v
  287. STA $BB
    8 {$ u2 J) a% Y2 y: p" {3 S

  288. ! _2 C) W( L! P! U2 v7 o
  289. CL1:  U) o: O- L0 x  G! x6 M
  290. LDA $BB0 V; n, L# `7 ]- }
  291. CMP #$28( r5 K; t% x  T4 E  F
  292. BNE CL21 V* p* m- e- a) y
  293. LDA $BA9 ~3 e: S: {# t! }. i4 C
  294. CMP #$00
      A" O5 Y; L6 a# W7 H2 f. O, l
  295. BEQ FREEWRIYE
    5 k! d) j: R: D. t, k
  296. & H" Z- k; I" g
  297. CL2:
    + j7 g; s/ x! ~8 ]/ f$ B; }* a
  298. LDA $BB" Z" L: i, v% z
  299. STA $2006
    6 b( ~: j4 ^# b1 ~- i
  300. LDA $BA
    6 U6 z3 |6 {1 ~
  301. STA $2006( E' a: m# ]. \; W3 |
  302. / o0 T, J9 t3 F# h2 j1 K5 a; r
  303. CL3:: `9 r. j+ J9 A" {, V$ j
  304. LDA #$00
    : `" ^7 d, z% y! d8 F
  305. STA $20070 V4 K  X* T1 J& j+ R& g5 d
  306. 0 R8 f: Y1 t0 d8 V, N7 B7 n+ `
  307. CL4:
    ) l& j6 V+ \4 K
  308. LDA #$00
    0 O' r- t# D8 b1 S+ c8 g
  309. STA $20003 l4 H% ?( o( {* _+ F  ~
  310. INX' ~  P% e2 {4 k8 ?
  311. INC $BA, T* l0 H8 x3 R) [$ H9 ~, ~: P9 E
  312. CPX #$00
    0 X$ [$ T5 c5 ?! @- p0 I
  313. BNE CL11 Z) u: m% }6 p% q, I+ R
  314. INC $BB
    . R4 l8 J& _0 W+ X7 T, o
  315. JMP CL1 ; y: Z, c: \0 G4 n
  316. ; S. I  ?# D) b0 j

  317. 3 z+ {1 I$ `2 c
  318. FREEWRIYE:
    . W  U1 h* V0 a0 w3 T* e

  319. . B+ ?  H8 X$ c. V- j7 v2 _
  320. NOP1 _/ ^6 D/ |# |6 Q! A5 F

  321. 9 L" [! u: D$ F. R5 c" e. v
  322. 1 g  \+ i" K( y5 _2 f, U( b
  323. 5 |8 ]" _5 v* Y- G* B
  324. 5 x9 U( i  y" R
  325. ' `5 w2 G6 g  z/ U8 B) Z4 ~
  326. CLEANF:                ; 恢复现场
    3 N& j4 S' N* D, b" E

  327. 6 n* T) E7 Q: q3 n
  328. PLA) `) W1 Q* P% c
  329. STA $B8. a6 D+ L" |/ u+ w6 @; W
  330. PLA
    6 s! \% Z/ }( k( u* s- X$ Y
  331. STA $B94 P$ D8 z% R+ F$ p# j
  332. PLA
    / U) M3 T7 n+ ^8 q
  333. STA $BA) Q" _# T$ P/ X# C7 F
  334. PLA
    ! y$ H5 f1 T8 O3 ~- i
  335. STA $BB/ J1 L2 B/ M5 T7 W$ a/ ~7 y
  336. PLA2 J& w- m' O& G! z4 c: X
  337. STA $BC# J6 {. F4 m! f" P8 R# t3 e" L
  338. PLA' S5 Z9 ~/ }: u1 z5 g4 A2 x
  339. STA $BD
    7 J  K" P& p( N2 D" r( G" u
  340. CLRF:
    3 V, }" F3 D7 h' \3 p$ I; [
  341. JSR FREE_PPU
    $ K6 Q3 W* w3 t- Y4 l
  342. RTS
    8 P! O; u$ R& B# {! E+ g1 G2 i
  343. 4 `% F' V; f0 }" k# F- P
  344. . i5 c, N" d' `  K2 j
  345. PPUWRITE:    ;PPU写回2 d2 _+ k* |- }" ]+ e8 s! y' P
  346. PLA# f& a# n6 u7 ]' F! r! K- n
  347. TAY4 |7 b+ c5 L( F2 n4 Z! w
  348. PLA7 g! z* }7 }/ |- |, i3 I% F
  349. TAX
    2 k0 s  E) c8 G# e+ N
  350. PLA
    0 o2 P% P9 t. W
  351. LDA $25
      [* j  K6 g* C- i" L+ b% @# M
  352. CMP #$00- k2 z& o) L5 F2 k$ w
  353. BEQ WP1
    " H: u0 c9 i7 M' u0 S/ g
  354. LDA $255 {: v9 M9 q3 M  v
  355. CMP #$01/ n% N# C* V6 \0 l9 v
  356. BNE WRE
    6 I5 b6 D! |/ q8 T: |9 }4 I
  357. LDA $F5,X
    5 y/ n  K0 ~" W* E! g8 B
  358. AND #$EF% x/ i, u/ v  o! ?. e
  359. BEQ WRE, n" |8 K7 A/ p9 i1 r8 z- c
  360. LDA #$00
    ! m: X2 M+ n/ [! S& I9 t3 F
  361. STA $7FA0
    / I+ |5 v4 ?$ ?6 I, B; {4 H

  362. 1 S) ^. w/ L* z4 G4 i# g
  363. WRE:9 B$ A! y6 S% G2 G" l% `' Q
  364. RTS5 L6 N4 {$ @3 X3 ]0 `

  365. 0 e# N1 }$ w7 ^
  366. WP1:
    : P" o- b8 X9 s. X
  367. LDA $7FFF1 [* n* g* f5 V9 e* q# x9 X  J+ A
  368. CMP #$FF
    3 x" S. t1 H- ?* R$ I$ \
  369. BNE WRE$ S  O+ z; a4 j6 P; U& z' D
  370. LDA #$00
    9 {4 E; X0 N# f6 z3 K* ^, V
  371. STA $20019 [' e9 B! p1 d  A* [- P
  372. LDA $BD
    5 y5 G% h' z9 ^3 d) M8 }
  373. PHA" x/ S% _) @  m. j/ Q( ^
  374. LDA $BC- `9 t# N* I! B0 ?4 P& ?, H
  375. PHA
    . _- h- S8 y5 z: [. m
  376. LDA $BB$ I8 v. V: b+ v
  377. PHA
    7 I3 k" G8 O0 s8 j" @: \, B9 v
  378. LDA $BA, W# U# B$ X! V7 P# s
  379. PHA
    $ P, a0 K5 x* a* z
  380. LDA $B9" n3 o9 q+ h3 n9 w. a
  381. PHA; s; H1 k  a3 T) @
  382. LDA $B8
    9 @, J' `9 E+ C
  383. PHA
    3 ~4 q+ a6 I7 D2 L4 z* @9 o9 F0 g
  384. LDA #$001 l- H  m) Q5 s, A& s3 ^; ?
  385. STA $B8
    : v/ s' s0 j6 E
  386. STA $B9
    - L, c7 r( S  I, H
  387. STA $BA( j+ g- r' Q8 O& [2 ?4 O
  388. STA $BB/ a' O) b( m' ?6 j; c- A1 R
  389. STA $BC
    7 C6 P0 S) V3 S
  390. STA $BD
    ( J6 k, y: M* _1 C  z+ o! H9 L! h
  391. LDA #$00$ Q  D% R" S, v) a6 c
  392. STA $7FFF! V) D' F1 j1 }2 z, y# P- `! `# k- h
  393. " O8 y! m& X6 O  C; D$ _+ A7 h
  394. WL0:' \; \1 F, T5 R
  395. LDX #$005 x* B! {# d" |# z! r
  396. LDY #$00
    : g6 |- P) ~( ~+ y  X5 I/ S
  397. LDA #$00
    # e8 \. C% y% P8 s* D/ ?) q
  398. STA $BA
    ! w1 i. {5 r7 A4 j7 D0 v% c& Q5 X
  399. LDA #$208 W9 M- T9 N: G0 o. {) Q: ]
  400. STA $BB% Y5 _$ C- q5 s( w) S) m1 M- h' m
  401. LDA #$00' U5 a- L0 b, j& P  ~4 F3 ~, e
  402. STA $BC9 y- o0 n5 c3 S& ~6 l& R" o; [$ M, c
  403. LDA #$60
    & g7 Q2 Y( j/ G( l) Y
  404. STA $BD0 W; c( @. F: a
  405. - ~+ x+ I* Z5 g4 ~; p
  406. WL1:0 U! D1 A* k. \4 c: Q/ y
  407. LDA $BD
    3 h3 z5 c- l( N! D5 @) p8 u: `7 P
  408. CMP #$68
    7 U% r, r* u7 a$ B( b
  409. BNE WL2
    2 w# R2 C' v; K& G
  410. LDA $BC; m4 i2 u: j. r5 H. _5 d9 l
  411. CMP #$00& U' a1 _, F" S9 e4 v8 b7 _
  412. BEQ WLR
    * r: i1 o# N3 R' I, a

  413. 8 D$ p( o$ |6 ?( B
  414. WL2:' p- t8 h; h- ~* P* t& l' m
  415. LDA $BD
      E( c3 B0 t% R) |
  416. STA $2006
    " M1 @% J% Z( G  O" L1 I" _
  417. LDA $BC
    + J5 O- X* X* C) e
  418. STA $2006, F& A- f* d" G" y* B  d
  419. * P; E: R! ~) ^8 E# ~6 E% h( V
  420. WL3:  {& N6 w' T) A$ c4 x8 p/ G- M
  421. LDA ($BC),Y
    . m6 s2 }8 M( D( e
  422. STA $2007
    & n( Z0 J5 W8 \6 f" U* T- C

  423. ( `1 w0 U. \$ I  ]: G
  424. WL4:! R1 l9 i9 k7 D3 H
  425. LDA #$00" v% i" n/ P$ F
  426. STA $2000$ P* \5 t6 d: T/ Y: S& ^1 k
  427. INX: m% b3 n. t' A1 F, }
  428. INC $BA) q2 Y8 }$ B& z2 n- y( y
  429. INC $BC8 v+ r7 R) [: V# a6 s6 h5 l
  430. CPX #$00, l: u/ d/ K. d
  431. BNE WL1
    + d4 w# m2 o/ h- M% o# e, ~
  432. INC $BB
    1 O3 L: z% A+ u+ a; X: E
  433. INC $BD
    ( G  o; G+ Z! b( G1 n: g6 O( W
  434. JMP WL1
    ! l/ d( i/ U) z8 F+ H

  435. + p# ]- W$ v" W1 \
  436. WLR:
    ' r6 g( t; y' u; F' ^3 z, p; k" O
  437. LDX #$00" f: S& M+ R# y9 X1 x* ?& k0 D. J
  438. COPY_7F00_7F3F:( b6 O/ N& S: j, r8 R4 c9 @
  439. LDA $7F00,X
    , B  @  l( _2 a# l; ]. i
  440. STA $07C0,X" }9 A2 L. h8 j
  441. INX+ Q# F) g% b4 ^; r9 _- i/ l1 P
  442. CPX #$40
    8 d6 y+ v0 b- a, v* p' h& t, z& n
  443. BCC COPY_7F00_7F3F, o2 ?* ^8 H, `2 _9 ]9 h- x$ N, |

  444. 7 ]; {4 {; p8 y2 X
  445. LDX #$00/ i/ m( g6 j7 O& E* c
  446. LDA #$3F
    0 w' f6 x! \- n$ Y" K
  447. STA $2006- E7 w; \$ ?2 O3 S6 t
  448. LDA #$00
    / y1 P0 d: @7 d: y  f
  449. STA $20065 m2 n/ ^% m3 P% \+ q( V
  450. COPY_7F00_7F10:
    " c) R( C7 N; n! p
  451. LDA $7C0,X+ ^3 c9 W, C" q( o
  452. STA $20079 r/ d6 ?* @  Q' R8 r/ [4 J3 @% n
  453. INX
    4 I. A+ Y* {  |( Y: x
  454. CPX #$10# Z0 ^; {7 ?1 X2 {2 P
  455. BCC COPY_7F00_7F10
    $ d. M& A7 H. A2 r" V0 ~" A5 t
  456. + Y6 ^/ e2 S- B5 N; e
  457. LDA $2002
    8 f" x: b& I$ n; u* c
  458. LDA $FD5 v, d6 L2 }# q$ p& Z% d6 n; n
  459. STA $2005$ Q, `. f0 ?5 p: R/ o/ O
  460. LDA $FC
    7 o) l1 U5 a6 Q& h7 M
  461. STA $2005+ A3 |& b' m7 H" m$ K

  462. 1 G! @, y0 n5 j! q: G, i) R! p
  463. LDA $7F500 Q9 B/ i4 V6 E% \7 S
  464. STA $FE6 t9 S0 K5 ~# F
  465. LDA #$00/ `1 e3 _" r$ L# j6 s+ ~8 f& m
  466. STA $2000, w  P7 @0 @2 Y: y* Q1 j
  467. PLA5 x2 R9 a3 I2 f/ |( C) w" ]7 W
  468. STA $B8
    & a7 x- F/ s  @0 ~4 }: i
  469. PLA+ h/ H( R6 C3 g0 R1 r5 }# a
  470. STA $B9
    0 Y4 p9 h  R. @5 ^" M
  471. PLA
    . W% f" n1 |! @$ f1 q
  472. STA $BA
    4 {: g! X# v& g1 n5 ^
  473. PLA" ~) T7 o* e4 K
  474. STA $BB
    3 u3 g$ g8 k8 K+ F. W
  475. PLA1 F  ~, A$ |* B9 Z8 t) g3 y
  476. STA $BC
    * V2 P; ?) J6 P9 y
  477. PLA9 D) t- n- D0 z/ _) G! K/ x
  478. STA $BD* x$ o% q. ]; E  A" l
  479. . a, Q# M0 _1 B5 f6 }7 [6 @
  480. RTS9 A$ _- y+ W" Y
  481. ) S" [" `+ z! }4 Q/ n
  482. PPU_CMP:3 c8 c2 n4 ~" k& K+ @7 K. {: G

  483. ' h8 f9 ]8 r% P' Y2 N. b) U
  484. % Q+ ~1 F9 Q4 Q8 {$ x
  485. PPURE:
    , y7 b) [  g, w/ k
  486. RTS
    ) o5 m9 u' j7 }1 W8 f6 n

  487. 1 v2 L! L# \1 w& c, r; H

  488. & M$ P/ j' t0 ]
  489. FREE_PPU:
    * z4 t, h; d/ i  c
  490. 1 X) F' M) D' M! u4 C) w! R# m" B
  491. JSR TEXT01_PPU
    6 D. t& u( m, B0 O  a
  492. JSR $CBC0
    . o6 Y% [+ T* m# `& G+ N
  493. JSR P1_PPU! ?8 n% P$ _2 Q) k
  494. JSR P2_PPU) c% ?# Z+ _! `. L, I4 `# e
  495. RTS& l+ o. w% q0 }8 \/ ?; Z# b& A/ @% J

  496. 5 V, J! l3 n4 Y7 u- t
  497. TEXT01_ADDR:
    4 E( M3 R4 _# ?1 P. T
  498. .BYTE $20,$42
    4 x  ^8 k: D' @
  499. TEXT01_DATA:, V1 A) ]6 J! B* b" q+ B
  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
    3 E" G7 u' R  v. J2 b! T6 l% P7 G
  501. TEXT01_PPU
    . X( Z6 W: j, H8 p  @% E% A! t
  502. LDX #$00- m6 B% G- @" f; X. Q
  503. LDA TEXT01_ADDR
    ; W% P2 H; O9 X, ]0 z- e& A- q
  504. STA $0703
    - m( x$ L( \5 A& ]. l
  505. INX( _8 ?; T, l0 f  ~+ U, g) t
  506. LDA TEXT01_ADDR,X
    ( K! f; o" Z! f  q* ~0 V
  507. STA $07042 C  {# Y" l! h
  508. JSR PPU_PROCESS
    ( ^9 R2 z" N3 g& J4 a
  509. TEXT01_W:1 s4 _, @1 I6 i% y2 b( `3 n) x4 q
  510. LDA TEXT01_DATA,X/ z% {6 H4 g. a
  511. CMP #CEND
    . e% ?' B. K3 V5 T) R3 T- b. M
  512. BEQ TEXT01_START
    . \( z2 z6 V4 e' i/ |% |$ ]! H
  513. STA $0705,X
    7 \3 t7 i# e# X$ k
  514. INX
    6 l" i0 H$ w1 ~* L. [" W
  515. LDA #$00! y/ L) f5 B& |  C# c$ z( b
  516. BEQ TEXT01_W
    , j3 `' w1 n& X9 z! {
  517. TEXT01_START:
    2 ?, |6 k* e7 R* ~
  518. JSR PPU_START
    3 k6 c+ j% M, C) p
  519. RTS
    * \7 a2 r  f& T
  520. 2 l9 B, J- m; J) a6 }

  521. & \: {  g4 v5 ]6 N
  522. COLOR_DATA:
    5 [- G2 E1 f' S4 z4 k! S: @$ i
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    : C7 ]8 c9 f- L0 f

  524. 5 M3 Q& g' k3 [7 h5 E* A. _5 y
  525. P1_PPU:
    7 O9 _- x! ~2 A& w
  526. JSR PLAYER_01_PPU9 T! O' Z% ~9 v5 n
  527. JSR $CBC0' K4 Y3 @: `* o( g! F
  528. JSR RELIFE_P1_PPU
    6 W* s+ x+ K. o4 i* [
  529. JSR $CBC0
    0 P' n; H) Z4 h: c
  530. JSR RELIFE_NUMBER_P1_PPU
    # D/ x% b2 f- H7 u# ]" v
  531. JSR $CBC0; o; E3 C- t! O1 w! }9 h" E
  532. JSR WEAPON_P1_PPU
    ! V: d" b9 ?: M7 z  E; I& C
  533. JSR $CBC0" @  S+ U% F# G& ?" y! w) W! w
  534. JSR BULLETPPU_P1_PPU
    : E. l) U5 |* O) q
  535. JSR $CBC0# |& D& v* W/ w1 c8 F/ \& s
  536. RTS
    # E  l+ c: z0 |; P6 g& y

  537. % R4 H; B/ ~7 B, w3 l0 f
  538. P2_PPU:
    4 z9 j5 I) m! ~6 `; s( z% W
  539. JSR PLAYER_02_PPU
    # d/ [4 X. L$ }/ O( [# p% E- H
  540. JSR $CBC0
    * C0 p8 G5 r6 r! l4 O& I% Z( m
  541. JSR RELIFE_P2_PPU% A! O# k7 J1 ]1 Y( q0 u! T
  542. JSR $CBC0% i- ^0 g  J9 i6 D$ S
  543. JSR RELIFE_NUMBER_P2_PPU
    1 a. |0 G  C2 `) q
  544. JSR $CBC0
    ! c$ @+ m/ l- G2 Y$ S& q5 a2 x
  545. JSR WEAPON_P2_PPU5 o2 c) T- _: v5 V' P# k- ~! u6 o
  546. JSR $CBC0  }% d' N5 `9 k  @
  547. JSR BULLETPPU_P2_PPU
    + J+ g, n$ n+ q7 l- _
  548. JSR $CBC0
    6 F0 R3 c& P# P
  549. RTS! s3 u! S  A: Q  T9 `- M/ u7 Z$ |

  550. 0 A, j& d/ H& V3 W- [6 f

  551. # s& z* }/ B( B! D, h

  552. - ?- z; y8 K$ n/ c0 n* y- i
  553. PLAYER_01_ADDR:
    ; p7 h/ q. L% E+ S; R3 H
  554. .BYTE $20,$A3
    # s$ n, Y$ U: f' F' F5 b7 H
  555. PLAYER_01_DATA:
    & V- Z' M4 {' `* ?% {6 r7 {
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND" W+ Q" Q" w7 P0 g, W' t
  557. PLAYER_01_PPU:" C0 e7 ]9 T/ W7 f5 P
  558. LDX #$00; z* I# p' O& D9 \' e% m
  559. LDA PLAYER_01_ADDR- u4 _' G% M& v8 W
  560. STA $07030 L% k# q  [6 G  _! x9 D
  561. INX- x0 J) ?( v# I- Z' c6 a' ~" {: T7 I& @
  562. LDA PLAYER_01_ADDR,X; Y- q" X' F7 ]% }, \
  563. STA $0704( K; V3 o, c( n, @" h. _4 O
  564. JSR PPU_PROCESS
    / {% `6 P' K% z$ o& E. i! X
  565. PLAYER_01_W:2 t" V+ T# V2 y$ {! }+ G* V
  566. LDA PLAYER_01_DATA,X0 O' _( y4 r/ `
  567. CMP #CEND5 _6 X5 x5 C# q/ h$ `8 X  {6 M9 e
  568. BEQ PLAYER_01_START8 h9 D" J% F" I' X* y6 J7 p3 @( q
  569. STA $0705,X9 M6 Y1 u3 C# U1 i2 ~% \! g, o
  570. INX
    7 o% E- k: _/ A) t/ Q" {" o1 N0 U
  571. LDA #$002 t3 p4 c9 d7 h8 f
  572. BEQ PLAYER_01_W
    4 S7 M$ ]  h8 S8 K: e5 L3 Q. P
  573. PLAYER_01_START:2 U" ?7 J: B% O' w; P! T* r
  574. JSR PPU_START
    9 \6 T6 T$ w; r- a4 W% q6 p- F
  575. RTS4 H2 Q" P  C( H7 m
  576. ; S) @% R: _# T( G; M% Y, I# O
  577. , A1 n- M! y# G) z( S
  578. RELIFE_P1_ADDR:7 T" u4 K$ v1 K, H, Y8 N
  579. .BYTE $20,$E38 o3 [( u- X( g
  580. RELIFE_P1_DATA:
    2 ~5 S: p) Y( M) s9 T: n
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND
    * n3 o7 {$ S2 Y& |
  582. RELIFE_P1_PPU:5 e3 G) \$ q+ u6 n5 i1 a; _
  583. LDX #$001 d) Q6 J: E: X. w
  584. LDA RELIFE_P1_ADDR5 }3 b8 {  I" v5 r9 B: ~
  585. STA $0703
    , K2 E; S0 x4 l7 K3 ^
  586. INX- X7 m" A& ^. I; r
  587. LDA RELIFE_P1_ADDR,X, u' Y9 k, j& w6 [) J
  588. STA $0704
    : }4 b% {' C3 V0 V' q
  589. JSR PPU_PROCESS
    ' m  W; z7 g7 c6 K5 Z% I
  590. RELIFE_P1_W:; f" P; ~+ v  ~1 i. x
  591. LDA RELIFE_P1_DATA,X
    & b  T7 m. h$ p& i
  592. CMP #CEND
    ( j0 V3 ~9 R4 _: U. }. X/ T5 W
  593. BEQ RELIFE_P1_START
    # y  J2 H& a  }" j4 n+ J8 R
  594. STA $0705,X
    " V. N4 |! |8 e0 }+ j* l% b% Q
  595. INX6 }+ R7 Z6 g, w
  596. LDA #$00+ L: C( \4 y8 I2 P
  597. BEQ RELIFE_P1_W
    ; f2 W! Z7 ~. ?# k. z+ W
  598. RELIFE_P1_START:- U' _% }" H6 Z! [% d9 ^' f' L& A
  599. JSR PPU_START- u$ u  _( X+ j0 h9 \
  600. RTS9 u- `) P/ b9 h  f7 k
  601. 4 c: V3 A  J2 i* H4 p3 E

  602. # w" s% |4 V* i& Z; \6 {2 @
  603. RELIFE_NUMBER_P1_ADDR:
    , R( b: Z1 X# ?8 F6 }
  604. .BYTE $20,$EA$ j/ f/ K  G8 \
  605. RELIFE_NUMBER_P1_PPU:+ v& s/ z/ W- o# A' T
  606. LDX #$00
    2 \/ i, q+ s4 n# s9 d' u% a
  607. LDA RELIFE_NUMBER_P1_ADDR  F' z0 B1 `2 j
  608. STA $07034 k- S, r! a7 U% ]: o
  609. INX+ w* I  @! T8 ]+ L( D' l8 ]4 Q/ c
  610. LDA RELIFE_NUMBER_P1_ADDR,X
    $ d4 _0 X; W. W# i3 d7 t0 ?$ ?
  611. STA $0704# a% q  j: R3 d
  612. JSR PPU_PROCESS
    4 e" ^: e9 V* \' [! f
  613. LDA $32- b! n3 p' v; s) H6 v+ k
  614. JSR LIFETODEC  ?( {6 B$ Z9 \: {7 F0 D7 H9 c
  615. RELIFE_NUMBER_P1_W:7 x8 G# V+ s; S. t
  616. LDA $7A039 ?) p2 @) H/ D+ j. m8 h
  617. STA $0705
    " T" k" u8 T, Q% g  s3 E9 j
  618. INC $0705# t' k, d: O3 y* X- m2 s3 p
  619. LDA $7A04" m0 Y3 |( A* m9 _
  620. STA $0706: D  J! {) j0 j& z3 Q0 X  M$ o$ i
  621. INC $0706
    ' J, a! s% L9 K6 U: Q) w
  622. LDA $7A055 g7 l" e6 F3 x1 O* ?) X
  623. STA $0707
    . T' j5 F9 h, ]; c4 B" a& @
  624. INC $0707
    & \( n: V( ?2 b8 L+ q
  625. LDX #$03
    " I9 D* f) m) d* l& d. R
  626. RELIFE_NUMBER_P1_START:
    4 m" ^: \7 E% P7 d/ h
  627. JSR PPU_START$ q/ k% l6 h- l+ Y2 i8 A
  628. RTS/ ]( f# y3 X) n& u! t2 \
  629. ; l0 d6 Q/ O) C0 e) g3 d
  630. WEAPON_P1_ADDR:
    / W( l- m: q9 N* }) R5 I
  631. .BYTE $21,$23
    ' z7 }  D% F- B6 J4 z: c
  632. WEAPON_P1_DATA:
    * q/ {, M4 ]# z& w* ?$ J( E
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND% l. V5 F7 u8 Y: M. {0 c# Q
  634. WEAPON_P1_PPU:
    7 v5 S0 ~& B% v  y/ ^* U. B7 n
  635. LDX #$007 K" v0 Y$ |/ W$ O3 V
  636. LDA WEAPON_P1_ADDR5 ?0 }+ K5 s+ U% Z+ m9 q1 `
  637. STA $07034 X! H' `; t3 i; }) O
  638. INX
      {- }+ \2 K4 T- Z+ Z) h
  639. LDA WEAPON_P1_ADDR,X# U# s" d2 r* ?9 a; p
  640. STA $0704
      \8 o+ O: Y% k
  641. JSR PPU_PROCESS
    1 E) D6 ^6 _( P% ~2 l. G
  642. WEAPON_P1_W:
    & ^% Q: ^# A8 b
  643. LDA WEAPON_P1_DATA,X( F+ r3 @4 k6 x. q: ], ]9 z  q( @
  644. CMP #CEND
    + }; @1 }2 S, n& w: _3 i
  645. BEQ WEAPON_P1_START
    . S. D, Y, ?9 d! ^
  646. STA $0705,X" l4 O& A+ i! m' F$ Y
  647. INX
    ( F+ l$ b; }: [, C) ?  U
  648. LDA #$00
    , _4 q7 l! n' h$ H4 H$ G1 ]
  649. BEQ WEAPON_P1_W/ ~5 W4 _! m6 V1 p3 }
  650. WEAPON_P1_START:' O1 ]1 a  j2 L* ]7 U( E+ p: @2 C( J
  651. JSR PPU_START1 l  A4 k7 t9 f7 g2 @: S
  652. RTS- W2 \6 E4 i. c9 j( S7 }

  653.   [7 E0 m: Y7 K% I+ b% b$ u9 A5 y
  654. BULLET_P1_ADDR:
    $ X$ z- p9 k) W: |, T
  655. .BYTE $21,$2A
    9 I* j: k  d. Z0 H" Z, w
  656. BULLET_P1_DATA:
    & I' d+ |8 ]+ u
  657. .BYTE $00,$01,$02,$03,$04" E1 E; J( p8 R" k$ M
  658. BULLET_P1_NAME:
    - t6 i  ]% M+ W1 S& Y4 I) O
  659. .BYTE CN,CM,CF,CS,CL
    7 n2 _5 s' W7 d7 Y
  660. ; U7 Y( B+ }; r) ]
  661. BULLETPPU_P1_PPU:( t0 T5 k) T. q& J
  662. LDX #$00
    9 k7 I  l6 H9 b" l; w3 W% H9 }
  663. LDA BULLET_P1_ADDR' B, P% J' _! ?) \! {2 \: x  O  Y
  664. STA $07034 u! j: c; E0 ~0 ~/ g
  665. INX; O0 J+ Z# e& Z' G0 x
  666. LDA BULLET_P1_ADDR,X& i5 j9 m+ {; h7 }* Z6 _# w1 g
  667. STA $0704
    ; u2 b9 ~) p4 J5 R8 N: W8 b6 D- `
  668. JSR PPU_PROCESS. M0 J5 j: H# J
  669. BULLET_P1_WRITE:
    # i4 u3 m5 y3 K
  670. LDX #$00
    : d8 p& N- A/ @2 a
  671. LDA $AA
    3 s4 w, |% `9 Y
  672. AND #$10
    5 s. A# }0 r6 `# |1 }
  673. BEQ C_BULLET_P1
    ) Y2 \2 q" i& x* v
  674. LDA #CS
    8 A) l# W# Y1 ]- ~/ |, x; G0 `
  675. STA $07052 m/ M$ t5 @5 w+ z8 E+ C/ N
  676. BNE B_NAME_P1
    ) I9 D- Z; W: i% b  @
  677. C_BULLET_P1:) m, K7 U' W+ K: F: m$ A5 M
  678. LDA #CC6 g6 \$ v! T: T5 r; K$ S4 z2 ^
  679. STA $07055 |& z. D0 u" C
  680. B_NAME_P1:
    - E1 G% A, C, r8 W. f- j8 T+ ?+ h5 ]
  681. LDA $AA
    . C, C3 y" D) t8 Z
  682. AND #$0F0 S3 N$ T' V; R5 ?/ Y6 B
  683. CMP BULLET_P1_DATA,X* {  E+ o9 @* T# o( V6 i  h
  684. BNE B_NAME_P1_RECMP
      ~7 s. k" Y& [" H( g( B7 S# Q
  685. LDA BULLET_P1_NAME,X9 c' ^! ]- s" V9 F: d" F
  686. STA $0706
    2 L. ]8 h! g3 t8 J: V) n  `% V9 a
  687. B_NAME_P1_RECMP; [2 r* J  K2 X; `
  688. INX* g0 y2 q7 [; s! w+ i# ?" w
  689. CPX #$05! }/ l% K0 i# ^6 ~( G
  690. BCC B_NAME_P1
    / ^9 n3 q" S7 I7 a6 R% B1 n& V/ M
  691. LDX #$02; D0 H- R2 A6 b9 @7 `1 C7 A0 T
  692. JSR PPU_START
    ! y$ r1 d. `$ A- G) u
  693. RTS$ r& R7 n; M1 u* ]) ^" {

  694. 7 u7 v% ~) ]. s' c: [

  695. . Y& m2 w: u* J7 Z3 k0 w0 q4 g8 j
  696. PLAYER_02_ADDR:
    " u5 O% \0 {: b/ w1 f+ c! z9 z
  697. .BYTE $20,$B3
    * @+ v6 _- l* F% L! d
  698. PLAYER_02_DATA:  W3 ]; V, p3 n, b! e
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    " J6 B, F0 T7 I8 N6 [3 Y
  700. PLAYER_02_PPU:
    9 R9 Y% H3 N2 S9 I& k
  701. LDX #$00
    7 [/ E; q6 c& r; r3 O
  702. LDA PLAYER_02_ADDR
    + R( v$ K2 ]! w! v$ E
  703. STA $0703
    6 E9 i3 k2 {$ A6 J5 g4 B% q6 Y
  704. INX7 A) b( }2 T8 c' R7 v
  705. LDA PLAYER_02_ADDR,X
    ( B# E5 ?2 H/ _5 D- H! O9 v% L
  706. STA $07043 Y8 n! U) E7 P; h! P$ v. N; S" {! Y
  707. JSR PPU_PROCESS- |  N/ _/ v  N% `5 ^* P
  708. PLAYER_02_W:6 [- r. O# T' z6 P5 G. o# k
  709. LDA PLAYER_02_DATA,X
    9 z' E0 B/ v( u6 F+ g4 E
  710. CMP #CEND
    & q% Q( o9 u7 K$ t
  711. BEQ PLAYER_02_START+ `& ]9 Q# z# ?+ S
  712. STA $0705,X: S( T+ I' B: B! L3 Z
  713. INX7 C  z5 A8 q/ P$ A) e  P+ [
  714. LDA #$002 I4 f/ V# L! I
  715. BEQ PLAYER_02_W6 l9 x, w  x. l" Y  p! K0 K  |/ t
  716. PLAYER_02_START:: I5 d7 h) |0 K6 m* f; n( W
  717. JSR PPU_START
    6 w8 ], r$ h& G1 H# m- o3 M+ ^
  718. RTS; l8 V$ S% q, O. L' S' |
  719. " V2 Q) |6 k7 Z/ q

  720. 3 V  H( K* s6 g4 C; M
  721. RELIFE_P2_ADDR:
    6 N  W6 Q7 {! Q0 y+ i& e9 H- n$ k
  722. .BYTE $20,$F3
    & b3 f+ S. e3 Q9 @2 n9 ]
  723. RELIFE_P2_DATA:! J' r% J" k6 T( _, [% p
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND! m6 R: y4 W4 G1 c
  725. RELIFE_P2_PPU:
    ) b: q2 T' y4 v+ [% _% R
  726. LDX #$006 k, Z5 d1 l, d2 v' c, |, b
  727. LDA RELIFE_P2_ADDR5 M! _: V+ r- g
  728. STA $0703
    $ S/ `* f' {3 D" M
  729. INX2 `/ v, J+ Y# p
  730. LDA RELIFE_P2_ADDR,X$ {5 s1 O3 o( ^
  731. STA $07040 G/ R" t: k% k9 i
  732. JSR PPU_PROCESS
    # Z* Z3 C5 G, R! C$ D; i
  733. RELIFE_P2_W:$ E2 P3 j7 [, ?6 ~" H, X4 Y* C
  734. LDA RELIFE_P2_DATA,X+ E  r* f5 x9 f
  735. CMP #CEND* S" f* w+ ^& T$ ]5 k+ K: T& h
  736. BEQ RELIFE_P2_START; D' ^+ v* x* C. S7 @
  737. STA $0705,X
    ' L5 |0 J- ]/ M  m. g0 ~
  738. INX
    1 D/ j* B- n; q
  739. LDA #$00" j' p: t5 U8 J  Q1 Z/ Q$ }: A+ y+ Y
  740. BEQ RELIFE_P2_W
    7 I, M& d$ C5 U7 v% D* ]2 h; }
  741. RELIFE_P2_START:
    . q# D, \. D* P' Y5 D2 ?
  742. JSR PPU_START
    3 B4 {) @5 L4 V5 r0 ^( G
  743. RTS
      t7 ?( a+ R9 d- {, e9 P
  744. $ V* v5 B; j% X' [' i) {; t
  745. 9 m4 I# Z8 c# `  M% T
  746. RELIFE_NUMBER_P2_ADDR:6 i- G6 J$ |0 \& z- _% W9 E' R
  747. .BYTE $20,$FA
    ! @7 Y6 M& Q- p5 C$ X& P8 a
  748. RELIFE_NUMBER_P2_PPU:5 {" i& T( c7 |% V# o3 W# _
  749. LDX #$00
    * B4 L- v& c5 ~8 N
  750. LDA RELIFE_NUMBER_P2_ADDR; v( c& O" Y% c. B, O
  751. STA $0703( n8 F7 ]# A! t9 H8 ^% M8 {3 }+ \
  752. INX/ _3 @+ t- A% Z2 B
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    # |, J- O5 j2 _
  754. STA $07040 @. {+ h, @! t0 e% e. k
  755. JSR PPU_PROCESS* f0 I( N: P1 x6 [8 ^6 c1 c3 @" n
  756. LDA $33# a* a( F/ X9 R7 S( X
  757. JSR LIFETODEC$ t- [+ B) G3 H
  758. RELIFE_NUMBER_P2_W:
    ) X& J. k  |# f! o# T8 x; N
  759. LDA $7A03
    0 E, V% T# R( `* `2 J$ G/ o
  760. STA $07055 j( q% c, J* C- E4 E0 i7 o, m
  761. INC $0705
    3 W' |* L  p; C2 _6 i) B6 Q0 Q5 d
  762. LDA $7A04; x! R, w$ C9 k
  763. STA $0706
    4 K0 T- j, ^0 E! g# l) r3 u
  764. INC $0706
    8 e: }& _" Q. \' X5 `
  765. LDA $7A05
    . e0 r$ J. b/ l6 z9 e! o
  766. STA $0707
    ( d3 l8 m! @% g7 S1 @. y4 l
  767. INC $0707, V3 W7 y- U' g* o
  768. LDX #$03
    % o/ f% ]' M. q# J3 @' t- [2 `4 r  [
  769. RELIFE_NUMBER_P2_START:
    8 w! u  l# p! O, J
  770. JSR PPU_START
    9 b/ P) U* T# c2 S
  771. RTS
    0 C8 `0 v# {( B! L
  772. , N5 D* o7 ^- y6 F
  773. WEAPON_P2_ADDR:
    # ]- L& V% r$ _) F( r
  774. .BYTE $21,$33
    ; U0 n% G/ D/ D2 ~
  775. WEAPON_P2_DATA:
    , \0 T7 J) |$ p) G+ g
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND
    $ e; f, |. k; _" \) @5 ~1 M' i
  777. WEAPON_P2_PPU:
    / E& U1 r' S4 B# l$ n
  778. LDX #$00
    ; r* F; Z8 Z( [; G. S: C
  779. LDA WEAPON_P2_ADDR
    ; L; D3 J) @' A) i0 d
  780. STA $07032 k4 O. v# |% J: h/ e1 p9 S7 \8 Q8 H
  781. INX3 p0 G: y" I6 ^% V! J* E
  782. LDA WEAPON_P2_ADDR,X
    0 s/ Y) a/ ^- M: i8 k$ ~8 v9 m
  783. STA $0704
    ! N& ~1 w$ x" F9 p
  784. JSR PPU_PROCESS
      a1 c1 Y5 [8 ?
  785. WEAPON_P2_W:
    % ?4 G& ]7 F6 `+ A
  786. LDA WEAPON_P2_DATA,X$ z3 y9 q% v- r/ |8 j& @) l
  787. CMP #CEND
    7 C6 Y+ v* i" R" H: P- ]: M
  788. BEQ WEAPON_P2_START
    ! ]: O" _8 x8 l- k% F5 `
  789. STA $0705,X
    $ K" e; ^) k: A/ G" B
  790. INX
    : s" P4 z" z, A) ~+ u' A" m: n8 s
  791. LDA #$006 B7 {$ A$ U; p# [
  792. BEQ WEAPON_P2_W
    , T# i8 c" ?2 C, ~; B
  793. WEAPON_P2_START:: P- y; p7 B$ h1 I) \- b% F
  794. JSR PPU_START
    5 R2 {# Z! h$ c! s; P1 n( e
  795. RTS( X5 h, b+ F# Y7 F. R; c; W6 m2 W

  796. 2 O. z+ q& e( P% L
  797. BULLET_P2_ADDR:
    ; ], T+ Z  h7 `" e
  798. .BYTE $21,$3A* H/ u0 S; _# }: n
  799. BULLET_P2_DATA:5 [7 g/ N* U: ^5 `
  800. .BYTE $00,$01,$02,$03,$04% t4 B: m& l6 [, u( N
  801. BULLET_P2_NAME:) j2 v6 n/ `' T
  802. .BYTE CN,CM,CF,CS,CL" u3 R' B+ H7 @% W5 a. o
  803.   s, p9 j' |5 u" P* j$ L
  804. BULLETPPU_P2_PPU:  e1 F" J6 C) a
  805. LDX #$00
    0 o) F9 J& [8 g7 W0 w% T
  806. LDA BULLET_P2_ADDR2 H5 V0 A$ _8 f# \7 T1 p" j
  807. STA $0703
    % \" Q. I, g2 S, z, X3 |8 _. U
  808. INX. K* W2 V4 X% O# f9 u; p- D& M
  809. LDA BULLET_P2_ADDR,X
    1 D7 s4 L+ B1 r! N! t) {8 |
  810. STA $0704
    7 n. x' l8 b! ^* i; C, x/ V
  811. JSR PPU_PROCESS
    " ~! C$ F9 j# R/ l5 g) L
  812. BULLET_P2_WRITE:* R: ^: w) W0 H( y& v
  813. LDX #$00
    $ u  j2 x4 I2 V( y' U
  814. LDA $AA/ v6 S$ B+ E$ |2 P
  815. AND #$10" a$ D, ^0 u4 f
  816. BEQ C_BULLET_P2
    1 n* @& k* y: ]8 b: T6 U
  817. LDA #CS
    " [- A& b7 H9 x% v, P4 d3 z
  818. STA $0705
    / h: R* M+ s( L9 `& d  k9 I
  819. BNE B_NAME_P2
    , ?. f  A) e! s" N: j% R. V
  820. C_BULLET_P2:
    . |0 u. Z' d2 g6 M- E) d' X
  821. LDA #CC
    0 V" t7 ^: S! D* V9 V, b
  822. STA $0705' }# u; v" k4 x0 I% U' S) o
  823. B_NAME_P2:+ o  P& V& Z. j# i
  824. LDA $AB9 C/ x2 {; B$ B
  825. AND #$0F
    2 F6 `' w: J2 b- q
  826. CMP BULLET_P2_DATA,X5 q( g0 b# s7 p* B' U. r( R
  827. BNE B_NAME_P2_RECMP: d- A5 m/ I6 J9 a6 B; n* B* b5 X
  828. LDA BULLET_P2_NAME,X! Q* V+ O- q- \6 z. ]' Z7 y
  829. STA $07062 G% d: i' n9 q( r- n
  830. B_NAME_P2_RECMP) F! x4 w' M* v+ s/ h5 L
  831. INX
    / y, h  g- g1 t; m& s
  832. CPX #$05. Q9 l4 ?( ~: r( i4 p( u
  833. BCC B_NAME_P21 T  {; ]- r: ?' k) m/ _7 |  ^$ Y
  834. LDX #$02
    6 e( ?$ Z2 ?: \7 [
  835. JSR PPU_START
    3 f: o% d# @" x
  836. RTS3 W& t8 L* @+ A0 T

  837. $ `: l/ d: i4 }2 k; J4 Q

  838. 1 |) i1 j0 m) z3 S5 ~
  839. # @4 y: j$ g4 `3 z+ f/ A& c9 k
  840. 3 h! M% A2 b" g. l; Y5 _

  841. 4 L6 b/ W; I* P- ?
  842. + o9 I% z; t0 C( G9 y
  843. LIFETODEC:                ;十进制转换: E% K; C' X" ~# [
  844. LIFEL1:        ;initialise
    3 z5 d/ O/ [/ w( y
  845. STA $7A00        ;$7A00=F3" g4 k7 A" p+ _( I- A6 o
  846. LDA #$00
    6 D( W' y+ V( Y
  847. STA $7A03        ;$7A03=005 ^* Y+ R: _% N: H3 r
  848. STA $7A04        ;$7A04=00
    4 C) k0 Y+ N; t( _4 }, ?. i1 `
  849. STA $7A05        ;$7A05=00
    ! N! S: e# f* E" j- y' g; n0 ]9 h
  850. LIFEL2:        ;copy data $7A00 to 60012 ?  m4 k  ]# u& r: c
  851. LDA $7A00' F3 @/ R# {3 ^
  852. STA $7A011 I+ V7 \$ B6 G, Z5 A6 j7 s* v5 B0 c
  853. $ m  C: y/ \) D, Q
  854. LIFEL3:         ;hundred8 j: S* l! `  @2 }4 S* u
  855. LDA $7A011 }* I7 B$ i2 E) o. y$ Q
  856. CMP #$64
    8 k  G3 k5 c9 k( l; M4 t) C5 `
  857. BCC LIFEL6                ;$7A01<100 goto L6
    9 M6 G" j8 m; K/ {  Q, f  V% G: l
  858. LIFEL4:
    4 r5 [2 c/ P. f# H2 I
  859. LDA $7A01
    . w% N! ]6 Q* r* A
  860. SEC
    0 X5 q- p7 w/ a8 W2 o
  861. SBC #$64        ;$7A01=$7A01-100
    5 c& H/ n% A) @' q
  862. STA $7A01$ i" y* ?) ~* `3 O1 A! R/ i
  863. INC $7A03        ;hundred++
    7 p: y* }) h; w7 A1 H
  864. LIFEL5:, G  m7 U: H) V/ |; R. G! U
  865. LDA $7A01
    $ W. ], n5 b) L, \0 |, r( Q
  866. CMP #$640 _9 K" A5 E1 N4 R( {9 S# p6 {" Z
  867. BCS LIFEL4                ;$7A01>100 goto L4( ~- p# U5 \( E8 U" P7 v+ ?( }
  868. 3 n+ N$ j5 f' r& E8 Q1 @5 z
  869. LIFEL6:        ;decade' h4 _  U8 l! n# m
  870. LDA $7A01
    6 N( P" C- d% }7 b. s3 ~/ f9 u
  871. CMP #$0A
    5 N/ d4 h* a2 ~
  872. BCC LIFEL9                ;$7A01<10 goto L9
    " X% a- i( {8 R9 }
  873. LIFEL7:       
    " W+ P. G* s# S0 J8 i
  874. LDA $7A01
    5 J8 @2 W' c" K/ P9 r6 O
  875. SEC& ]7 _$ E: c2 f' n7 ?# X
  876. SBC #$0A7 j+ I2 f, d, ^( O/ g
  877. STA $7A01        ;$7A01=$7A01-10
    ) c9 j! W; b0 I! [1 z/ G% N
  878. INC $7A04        ;decade++: d- {( ~* z  q1 b  t) {- M
  879. LIFEL8:" f% ]* c( ~: t8 y6 _
  880. LDA $7A01! T. D7 d, x& Q2 U4 W0 |& p
  881. CMP #$0A
    - ~% W3 r! r' T! c' L
  882. BCS LIFEL7                ;$7A01>10 goto L7+ A2 k! m0 Y0 t+ N  b) i' K
  883. ;unit
    3 C% D- }& T8 H  d# f& K
  884. LIFEL9:7 S( e0 e. k/ H" g
  885. LDA $7A01        ;$7A05=$7A01
    , ?/ l$ ?1 t9 j+ A% L2 s
  886. STA $7A05        ;unit
    ( z2 X) _7 M8 N' O
  887. RTS        ;return2 @6 o2 X& [# U) D/ k
  888. 9 d4 ?1 h% a! C- ^" w' i+ y

  889. 9 k# u/ }! @2 S0 Z
  890. ; g* P1 H( Q; r
  891. PPU_PROCESS: ;PPU地址处理程序
    ! U- `" L5 ?6 j
  892. LDX #$00
    8 T) d1 u4 X. Z5 @' W
  893. LDA $FF( S$ e+ P) m$ f: R* F; n/ }
  894. AND #$016 r" a! s$ N8 s; {: \- s* N
  895. BNE PPU_2400_27C0
    2 O8 L3 R* T% i  f
  896. PPU_2000_23C0: ;命名表11 |% y& c/ q' r" S8 O9 ^  X
  897. LDA $07039 d# |2 Z2 A, A/ Z0 ?5 D
  898. AND #$FB
    2 H9 V6 U8 {) m( L
  899. STA $0703
    " g2 t' ~' t; o$ M" e
  900. RTS
    * J& Q, g9 i" {! z
  901. PPU_2400_27C0: ;命名表2! z3 I! h$ }2 ?3 j
  902. LDA $0703
      X8 f9 v7 U; |( q9 S- X  S- b; K
  903. ORA #$042 v: a; {. x, U# T
  904. STA $0703
    7 u5 p- ?# q8 U& W* w
  905. RTS: n( s* [- W* k, C

  906. 3 B. j' e6 R+ |1 ]9 l+ `, K$ U2 o
  907. PPU_START:  ;PPU数据写入' z/ h! z* S1 ]* l
  908. STA $21' Z4 d  ]4 i9 Y0 i5 f8 K! u; E
  909. STX $0701
    4 X: A0 G  p% N! V+ t1 `5 F
  910. LDA #$00
    / n+ g. P( a  c5 a) e
  911. STA $0705,X, R% C8 W+ M* e3 ]- b" m/ f
  912. LDA #$01
    5 ]4 T# L2 ^9 b) a$ L
  913. STA $0700
    8 s# F; j$ r$ F9 I1 i& s8 O
  914. STA $0702: t: T$ e+ N  O
  915. RTS. I' V( c$ x5 s( u' c& M
  916. , M3 b; b" @9 h: n3 U

  917. % |# ]0 D& f! E( o9 S/ Q
  918. 5 \& W/ G. L% e2 K4 e) ]/ H
  919. % |4 Y6 {( ]6 p- s& U
  920. & l9 k& _9 l# o. L# }
  921. / r6 Y* p) b* E5 P5 b
复制代码

& Y  t! V# l, u" x! ~

本帖子中包含更多资源

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

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

签到天数: 2139 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!$ C$ r$ J: H; t9 h0 G* F/ {+ y
回复

使用道具 举报

签到天数: 2561 天

[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, 2026-6-26 10:59

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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