EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序; B" ]$ m% X" P6 @  q4 y' {# o
  2. 作者:FlameCyclone; C, Y! G5 H. S, D+ x5 B2 e1 [" @
  3. 时间:2017.2.12
    8 r# a/ ]5 j2 Q  z9 m

  4. - X  J: q  x5 W8 P/ g7 f9 H
  5. 按键跳转:
      {8 F9 H' T, w
  6.         C1EF:95 F5 94 F1
    4 \1 D8 e2 n  c! p' \: k) z& l" V
  7.         C1EF:20 70 FB EA
    % ~8 ?% E% ~: i( Y, U3 v( e9 F

  8. ; Q, \) R. Z7 o$ r, Y
  9. 滚动偏移:
    & j- i9 b+ W; a1 M" I6 x
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20
    . B- a8 M2 x/ S9 _
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    4 |2 _" r9 ]5 c- ]/ A7 I' L

  12. : H! @/ n0 H  |
  13. 背景调色板:
    8 {& e# p  g- R  I( O  A  g3 x
  14.         CF20:9D C0 07
    + D9 c0 S' j  m
  15.         CF20:20 A0 FB
    5 i. Q' A( m$ ?8 A6 c6 K
  16. % x" }& h$ K" g# p& D2 a
  17. PPU BANK号:
    7 i5 e  z% C1 V9 G( k' E
  18.         C8C9:9D F4 079 X% [3 Y- y" b1 U$ r, ]
  19.         C8C9:20 B0 FB
      {+ F% x* |5 A
  20.   f* G' q! u1 `7 ?+ c1 L
  21. 按键跳转:/ }2 m; ^/ e, q; B# z
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    ' z* W+ }2 d1 B2 p
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 208 r  o+ A% p# Q8 o  Z8 M1 c
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF
    * c* C3 h: g: v" E+ m8 ?6 l
  25. * d# A4 l; \2 [; U' E, i
  26. 背景调色板:
    4 c8 y% D) s1 t+ x9 \  [- l
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF
    / f& V. }1 A: |/ k

  28. 3 a8 o+ C& o/ e/ S0 K
  29. PPU BANK号:  ]8 g) j) R" K4 G0 W0 }
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF
    ) v  e; d; k! U0 i5 `( c; N' B

  31. ; {! {' R8 z7 u
  32. 滚动偏移:' }+ k3 O0 X+ |
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60) s  ?4 t3 q: S& l$ ~2 S" D
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF+ K, ?/ P$ V, C! S
  35. 9 |+ x' e* k" ]$ N( V
  36. ! u. h+ |' h! v, k( h. g7 p
  37. 切BANK后A000:
    + U) {  B' m+ P0 W& C5 d( i! p2 [3 x
  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
    0 V. `1 M' {( Y0 J$ `

  39. * \' A5 L3 b1 ], \5 q2 Z+ A
  40. ' f4 i2 Z9 x0 L7 w3 `5 s7 s
  41. 6502 simulator:, M) b/ T( Z6 w# r" |; v0 b
  42. PPU写入程序:5 O# B! Y( M7 J1 B
  43. .ORG $A000) B8 Q' P/ W/ F
  44. CSP = $80# p1 |8 D* Q3 y( F) |$ C
  45. C0 = $81
    , i. x: w  _! Q  E0 F# w# `
  46. C1 = $82. A2 _& L, @1 o% s
  47. C2 = $83. O8 O* C- V9 {5 ]' ~6 f2 }: q9 \
  48. C3 = $84
    , N. _; g% o, x7 \% u4 `# N
  49. C4 = $854 f! s/ R) e* K  m5 p0 _5 {
  50. C5 = $86
    4 T- }7 D6 X9 S- k' f% \8 C
  51. C6 = $87+ c1 Z$ f9 T4 l0 C9 Q& F5 P
  52. C7 = $88
    - ~  n( z* ~9 M' P
  53. C8 = $89
    3 G; V- c2 J+ y3 D: T4 w5 z. m
  54. C9 = $8A
    - C' P/ I; h* k% z7 ?
  55. CA = $8B. f8 Z' ]1 l1 h" u, A
  56. CB = $8C
      G) e& i7 x9 V7 V7 k8 e
  57. CC = $8D
    8 ?! i& G5 g" T5 S: ^; O* |% ?
  58. CD = $8E
    + B$ b1 h# b3 ^) Y1 ~. J5 G
  59. CE = $8F2 Q4 I9 x# D: E4 T& y( [8 c
  60. CF = $90- _5 r( P" K' l/ A. h
  61. CG = $91
    * y  e. G$ q( J' P- X- ?; R) F) J
  62. CH = $92' }+ p! X9 S- |7 m! H% Y& p  ?
  63. CI = $93
    " g% O& d9 f1 W! l
  64. CJ = $948 [8 L; I, R8 n. y! y8 P1 A$ g
  65. CK = $95
    ) X# q+ T; F4 W6 o' }
  66. CL = $960 X: S0 C$ d% s4 C9 Q' T
  67. CM = $971 i. l& J" x- X7 t: p: ?
  68. CN = $98* p! Q% |, t' D+ a$ H" Z0 h: Y
  69. CO = $99( O0 o, z! y9 L
  70. CP = $9A
    9 ?; Z% a3 S$ n* e5 _& _, c
  71. CQ = $9B( {/ ]$ \/ c4 A2 t& I
  72. CR = $9C/ o+ D% [$ t6 l" t& G
  73. CS = $9D+ c$ j6 `2 P$ ]9 J% \' @) [4 u
  74. CT = $9E! R. T. G; D4 g* ~
  75. CU = $9F& u7 A; b5 m5 ~; ~4 G) X
  76. CV = $A0
    4 U- j- ^5 q" Z6 ]9 q' p- w9 q
  77. CW = $A1
    9 R+ _, f$ k0 W
  78. CX = $A2
    8 T8 F$ I3 [% j1 P) e
  79. CY = $A3
    " I& S" {8 o5 F: R, ?9 l0 t& R
  80. CZ = $A45 i2 d& }8 l% y
  81. CEND = $FF
    % B3 x( `  }, F. H
  82. + L  O4 C, y8 i, ]: \, G

  83. 6 V8 @+ M, q; h
  84. CMP_RE:3 b! l6 A; i+ M- p
  85. LDA $FF
    1 Q- {/ p  O8 t
  86. AND #$7F
    7 M# [3 N8 e* \3 @) z/ ~
  87. STA $2000! J: e9 p/ S4 z# i
  88. LDA $2002/ _! U, @0 Q) q( m/ l& w0 {. P
  89. LDA $25
    + k& o; y# A+ G4 A
  90. CMP #$01) \/ j! D) ^; K
  91. BNE PROREG
    - b2 l2 U$ Q7 w7 K8 }" P; ]' Y
  92. LDA $F5,X3 _2 m3 }1 k: t. i2 C( j; g
  93. AND #$CF2 `! W) E. P$ u5 H
  94. BEQ PROREG
    ) m7 _  f9 G' B$ M- C' ]) p
  95. JSR PPU_CMP, W2 @+ K0 l0 h- y- i
  96. C_RE:" Y" r% D1 I! x( X
  97. RTS
    9 \" S. q+ u8 J1 q* Y# U
  98. PROREG:2 O5 z' R0 K* z0 F5 B( M
  99. PHA: ]. A7 B* h2 B
  100. TXA& q. t+ X- K8 m! `+ M  I8 W
  101. PHA
    # ~7 c* z, u1 [* Z
  102. TYA3 a; j# F* q& g) k! \$ c: Z& x
  103. PHA
    , H! L+ }, }, }) k3 m
  104. LDA $25
    ! y% _' s9 i* I, e
  105. CMP #$01
    ) n* W: d! t$ M" I
  106. BNE RE
    8 V: Y' U5 ]; ?( J
  107. LDA $010A- ]. p; F5 G9 T# ~% X4 z! e
  108. CMP #$00% C9 [4 Q3 O6 x7 H$ R4 B
  109. BEQ P1
    + Z( O4 R! r- y/ T& A% S9 @
  110. 2 Y. Y$ e/ r8 l; {9 P& p
  111. RE:
    $ v. H1 N  I0 C5 T" [# q4 L
  112. JMP PPUWRITE
    : P4 `3 a% _3 y4 X
  113. 0 m2 s) V9 G1 ^# r, _
  114. P1:                ; 条件判断
    $ |* Y  t, Z- u1 D- [- @
  115. LDA $7FFF
    ! J, {. L# g+ Q) C
  116. CMP #$FF0 f- k' P- ]1 R$ ?0 u5 N
  117. BNE P1RP
    0 p) i& m& \& n$ }* L
  118. LDA $7FA0
    + ~0 c& b5 C% P% V% K
  119. CMP #$00
    ! l2 P3 T" Y& b! Z' E: `
  120. BNE P1CMP
    ; \0 [. |# k& z4 s! }' ]5 o: r
  121. LDA #$FF) O4 A5 C& G9 r- N3 H6 q9 p
  122. STA $7FA0
    * y' O( i# x/ z3 M( ]# \$ c
  123. JSR CLEANA
    6 x( n: p* h8 r5 y* f5 ]
  124. JMP PPUWRITE( i$ N$ V" p# L
  125. P1CMP:6 r; l1 `8 k4 |5 `$ |
  126. LDA $7FFF! c! R: F/ u( v+ k; s& k9 v
  127. CMP #$00$ B9 G, N  u6 M' a* Z' V5 \
  128. BNE RE
    / w2 {! |+ }. I" ?7 a9 {
  129. P1RP:5 O% }" V* J8 b6 N% Q8 W, ^+ F
  130. LDA $2002
    " V8 ^. T& a. g5 [
  131. LDA #$00
    * u6 C: D# [2 B* `$ ?8 E
  132. STA $20018 U, O6 i- `  `! E" l  t& x
  133. LDX #$00
    2 q0 X0 P) ?2 X
  134. LDA #$FF; H2 L8 ?" N' x. M
  135. STA $7FFF
    6 Z9 j0 {# L$ t% Z- w5 \5 A
  136. STA $7FA0
    : D' u% V# C/ O2 i- Q3 X0 i5 @
  137. JSR COPYPPU  e3 n/ g% ~, q, t% d
  138. PIRP2:" @& i8 X7 }5 D: Q* I
  139. JSR CLEANA
    $ W# ~( R+ m7 U$ t( d  u9 o
  140. JMP PPUWRITE+ j' ]8 v. R0 T5 n2 E
  141. 3 c: V# G6 `& y. c" i1 V" ]1 F
  142. COPYPPU:
    / K% D7 ~1 _3 P% i! F
  143. LDA $FE
    8 r, y" j" C, L- l
  144. STA $7F50
    % J/ O; Z! ]; G  m( [- g# D
  145. LDA #$08
    $ A* z# V! |" y
  146. STA $FE
    : F) w! C3 c( q: A) c1 S
  147. L0:9 w# c# \3 R7 U* `
  148. LDX #$00
    ! v. a. J' d0 J" @, Z6 G5 J
  149. COPY_07C0_07DF:" n& W* T2 Q( `8 f" N
  150. LDA $07C0,X
    . c/ ?+ L" u1 @
  151. STA $7F00,X3 x+ ?  x9 O+ G: E9 E: F9 F
  152. INX! s, b) t1 Q. _
  153. CPX #$40
    " t, _$ l& q) y0 q  t) c8 U
  154. BCC COPY_07C0_07DF
    5 b4 D9 C7 C& n
  155. LDX #$00, O1 \5 m. J  H6 [2 q
  156. PPU_07F4_07F7:; A: J: U8 }/ n9 j5 t
  157. LDA #$00
    ! ~$ z% U9 o  W( I9 m2 c
  158. STA $07F4,X
    9 R, P8 M/ X6 n; q- X5 H) R# o
  159. INX
    ! x- m/ i+ @# S1 C0 B- v' i
  160. CPX #$04
    9 J0 l( K( \. H- i3 K3 _
  161. BCC PPU_07F4_07F7
    % K1 a, U$ j% T; H
  162. LDX #$00/ l2 b0 X! O: r$ `5 ?% T
  163. COLOR:! Y" Y+ G0 E- f9 S1 I1 H+ k
  164. LDA COLOR_DATA,X
    ' C+ N% Q$ X1 z" _% G0 E
  165. STA $07C0,X
    # E* C8 p' |1 F2 G& c
  166. INX  D- M  n: x" R
  167. CPX #$10; @, }' E: J$ \0 g! T
  168. BCC COLOR) _! m9 z" Y2 g9 H
  169. " Y# y! a* V; Y! r: K6 d# O% ^; L
  170. PPU_COLOR:& u- [! S# H2 V9 a) b, Q
  171. LDA #$3F: Y: k" V4 O  t) S0 |' u* ]) ]$ H2 f
  172. STA $20066 \& F0 e$ S2 L0 i; Y4 w
  173. LDA #$00  g; x/ o# D7 x
  174. STA $2006
    1 L& N" j% `. }# D
  175. LDX #$00
    $ U: G) L4 ?- F% G0 C) e6 K
  176. PPU_COLOR_W:4 A0 n. W0 L  {; z% _! q  P" F
  177. LDA COLOR_DATA,X
    % b/ @' N0 t9 q( K: A8 `% v
  178. STA $20077 N% l3 l2 e) [) j- _0 s+ a. j
  179. INX% z3 u2 `/ L) x4 Y* y$ a
  180. CPX #$105 e8 E& H3 B0 J& W
  181. BCC PPU_COLOR_W
    3 d2 m0 Y8 h0 n5 n' l

  182. - M  B) {+ P( M, z) A2 D- k

  183. % ^# ^3 s) I6 h! p" o
  184. LDX #$002 J% e( q9 s7 X* d
  185. LDY #$004 c* Y7 c) x3 s" t7 C+ s. u
  186. LDA $BD! I5 ^+ U' P4 `; Q6 i+ e' J
  187. PHA
    + t" x- R7 ~% p0 B4 s0 r
  188. LDA $BC( h, {) U% {+ G, I4 d
  189. PHA6 O7 u* @) Z* `  W9 _: Q! o' o
  190. LDA $BB% ]; ?3 n9 t' }" O9 o
  191. PHA; {3 w- A  e- U* f* G
  192. LDA $BA1 S6 L0 ]9 g6 O& v" S. h* l
  193. PHA; ~9 O) L/ y8 Q' c; ]/ c
  194. LDA $B9
    7 B$ F! W7 ^/ r
  195. PHA
    " p7 q, h( k/ m6 ]7 k4 |
  196. LDA $B8/ j4 k0 @: z' X  v! p
  197. PHA
    6 h% O0 ^: M, G8 j- N
  198. LDA #$00
    - h/ `$ Q! v# I; g- n
  199. STA $B88 K% d0 G* H6 y9 O
  200. STA $B9
    ; h8 v- _5 D0 @: z
  201. STA $BA
    - S4 S9 R6 I' t) L
  202. STA $BB
    # w; j6 y3 |  v: d% }: T9 E5 V
  203. STA $BC9 h3 w$ n' g& b7 g& h/ N
  204. STA $BD0 {, W4 g) W, a  L' Q
  205. LDA #$00
    - A  P1 w& S7 i: F) m, G
  206. STA $BA- J/ }  X+ x7 z2 z7 i# a
  207. LDA #$20
    9 W- W' B5 {5 E" K
  208. STA $BB, w& g4 I' c1 a7 C2 B$ N
  209. LDA #$00; ~9 T) X, G4 g
  210. STA $BC- H, U& ?  v- i& d2 h
  211. LDA #$60
    - b- P; r; f1 ?' Q( P
  212. STA $BD5 ^. v- H$ u: M$ R

  213. ) V9 z; t6 m$ D' Y) C/ b
  214. L1:                ; PPU复制
    , t' f  ]) R5 m% S
  215. LDA $BB& L- S3 U! w" n
  216. CMP #$28: g* Y7 e3 A; ]- O$ Z
  217. BNE L2
    0 _+ @! t8 K, j4 d
  218. LDA $BA# \$ S$ R* e: _, T" t4 ^  l; M- H
  219. CMP #$00
    1 }8 U1 G/ i. s% y( b
  220. BEQ PROADPLA
    1 F2 T4 j$ n6 W

  221. 2 j( Q- i, Z, }0 t  T
  222. L2:8 ~/ y7 j# @2 {, v/ W
  223. LDA $BB
    / N4 M' v6 K4 f6 g
  224. STA $20069 i5 R7 P9 t9 p) b
  225. LDA $BA
    8 \, ?+ P0 Z- V3 \2 J( \7 K
  226. STA $20063 C* u9 E5 ^/ I: e
  227. . t0 [, n' @% @: Q" _# h
  228. L3:8 }5 y1 k* _" F# _1 \1 }
  229. LDA $20074 T% I$ T8 }, E. K- @* c% _
  230. LDA $20077 |& N) \8 y6 W) A" |' P, i
  231. STA ($BC),Y4 P" Q3 u, _: C! w0 b, s' c. Y

  232. . J% i( n1 v) T, r
  233. L4:
    1 K0 u, u: t- G( N1 X3 I, c
  234. LDA #$00
    ! Y- c/ N! s: \
  235. STA $20006 z: V, P1 S* ?: G- s8 j
  236. INX. F8 l1 Z/ p$ s" v7 u8 p7 C" u
  237. INC $BA
    / f6 q( \: |0 l+ t2 U7 S+ H
  238. INC $BC0 s6 F# }6 v5 `0 H0 ~5 w$ _, X
  239. CPX #$00' Q: K; E" R+ A" d( b0 K
  240. BNE L1
    9 `& S' |$ Y2 @$ q( y( h5 e
  241. INC $BB* v; l3 L  h3 L/ X. I1 ^# h
  242. INC $BD
    ! {$ G' q+ e; D
  243. JMP L1$ B, V" G+ b1 O+ z8 G
  244. 5 \$ |! p, z  c9 W8 ^4 r$ y* e
  245. PROADPLA:                ;出栈
    2 Z7 D' G7 j+ F9 i) n
  246. PLA) Y  E+ {& H/ A. r7 M
  247. STA $B82 Z! G2 D8 j4 s: X1 w) ~
  248. PLA# `* T4 e4 P0 [/ R* W. c( O/ W
  249. STA $B9
    # W9 c8 O; Y2 Y2 e, G
  250. PLA) @) z- X# g6 j5 o4 `4 Y
  251. STA $BA$ h* g, C/ t8 r$ S9 X8 D! T/ Q4 K; C
  252. PLA2 w' @$ g% X( }8 ^% |# k
  253. STA $BB
    ( P" L; ]; q" a& w1 Z& Z( A
  254. PLA' y/ P% Y- f) y2 E6 H" @% T! t
  255. STA $BC
    + Z( V+ Q# B5 |
  256. PLA: A/ K# m+ s2 V6 x
  257. STA $BD7 r+ w0 Z: j' H* C7 q
  258. CPRE:
    4 t3 c8 p( w3 L2 @
  259. RTS
    0 F  J. y5 p/ i/ v6 H5 X

  260. 7 _& E1 I7 ]* x4 R! ?  n
  261. CLEANA:                ; PPU清空, l3 u, y; L% L2 j( p$ b/ n
  262. LDA $BD
    2 o" Q# z6 r) ]! }" w3 R- j
  263. PHA
    ! f5 c1 ?; a/ x# |5 c
  264. LDA $BC
    7 ?8 l$ Q( C) [& I- t- r/ n
  265. PHA
    4 F- k( V7 x, k' [. [4 t7 m
  266. LDA $BB
    0 o0 |0 R' d: I; o1 m& n
  267. PHA
    1 J) z/ n" p( i( X" K
  268. LDA $BA
    3 ^1 z& R$ ~7 B& a8 Y2 v5 \5 H3 V
  269. PHA" m+ a; P+ `6 `" W" p8 M
  270. LDA $B91 e% ]% O. B, c$ P
  271. PHA8 d9 z. ]6 G# q1 S# q9 l$ l
  272. LDA $B8
    8 P$ J) R/ f! B, P/ N2 O; m) }5 w; {
  273. PHA0 e5 g3 ]5 ]& n$ c
  274. LDA #$00
    8 j2 V% D  W3 g7 E( t
  275. STA $B8
    + J- T! |" m" |2 O* ]2 u
  276. STA $B93 a0 A  {2 {" _2 i4 x* D; x
  277. STA $BA+ |. j# l2 h1 p8 k2 x
  278. STA $BB
    $ r% v7 h4 r. a, \
  279. STA $BC  u8 n5 P' p  e( d2 I  E
  280. STA $BD# d& d# O+ O5 J1 D8 @) U9 F
  281. STA $2001
    3 |" C* n/ }6 D' s0 r
  282. LDX #$00
    ! E& Y6 R- j: _  F" E" z, ^/ v
  283. LDY #$00( N/ O( f  u1 X0 y  B6 H: `- s
  284. LDA #$00
    . q; X& S" `7 T, W  }  e
  285. STA $BA9 b7 w) t4 I$ G. \! {% G, I
  286. LDA #$20
    7 z  y8 L' O% Q0 P" T6 X" ~3 ]
  287. STA $BB
    # y1 E; l  o5 P- t* _
  288. 9 X0 {' n, t6 e5 [8 P
  289. CL1:7 X2 I% t9 v: W; d! L+ u
  290. LDA $BB
    2 s/ G* a) V# Y6 C9 F' f' G2 O  Q
  291. CMP #$28/ n% Y2 f$ Q" q2 @- {! K
  292. BNE CL2
    ( {! W6 t/ j7 i  r& e9 I
  293. LDA $BA* x: P5 @* [$ {  w9 U1 r# H* h
  294. CMP #$00
    8 }: y$ }8 z2 a! R* }$ c, A! E0 w
  295. BEQ FREEWRIYE. V9 e8 J1 I  @" j5 G

  296. 6 n3 m+ G' u" |5 }% c
  297. CL2:' N  V; M/ A: a1 W9 R% j+ A
  298. LDA $BB
    . |2 \- f8 {+ c* g
  299. STA $2006
    9 k; J  M9 e/ ?
  300. LDA $BA
    ; t0 k9 f: e) W
  301. STA $2006: c/ o. N- b( {5 h

  302. 1 C  L! c: H- b4 h* p
  303. CL3:5 h9 a! d! O  X: b; X
  304. LDA #$00, l0 a/ k/ l% Q( U  p' `
  305. STA $2007. F; s. O1 i# {; D" _0 [
  306.   N) q/ s6 H) e- @
  307. CL4:
    , K" l& r( `8 j, `
  308. LDA #$00
    % P4 T4 ?+ A* H$ D5 P- i# J
  309. STA $20004 a8 p  S+ p1 d
  310. INX1 K/ e. Z  x; h- G% K5 B9 }
  311. INC $BA! u* P- d* a" ^! W" ^- j% Y9 \
  312. CPX #$00* U$ c, @) P! @, l. y
  313. BNE CL1
    " H% |0 X. s* e/ X9 ?
  314. INC $BB  _+ o9 I! p3 C9 H7 H; Q
  315. JMP CL1
    : A# `7 N2 B+ [( [6 [( [1 M7 Q
  316. ; H0 ?5 O; N# \) p+ I+ P5 `
  317. $ n- X& @: ?; i. p7 h( l
  318. FREEWRIYE:7 q  n+ D+ A( Q8 J, i7 Z- X9 Q

  319. 4 I  H3 i1 P: {8 D# m
  320. NOP
    : A6 P" |' ^( A/ c( z
  321. 3 n' K. |: @( ^5 l2 W

  322. ( @. G3 o* [" z. \; ~# h( D
  323. 6 l4 L0 C$ S' G7 e. z
  324. * h# n+ W1 V* p

  325. ; K. t. U7 A. h" G8 |
  326. CLEANF:                ; 恢复现场
    ' E6 X8 A  ]. a( V

  327. * M% N9 F8 b& B# n
  328. PLA4 v" X  L: S& E( F: Q7 O
  329. STA $B8  u( A0 T, Q, ^9 `! P
  330. PLA+ w4 }; T+ B2 a( g
  331. STA $B9
      A' K' e" N6 `& e( m' J
  332. PLA4 h2 G$ R# a4 f2 |  p
  333. STA $BA4 d" P% `4 \/ b& d/ ?
  334. PLA+ f0 z5 ^" ~( G- G$ ?
  335. STA $BB
    ( x& f8 Z7 D' v7 N3 {, }
  336. PLA  a. q" n# {  F" y8 `8 R
  337. STA $BC0 k6 `) g$ I, t% a$ Z+ E1 ]
  338. PLA8 l$ T0 m0 i  Z2 q5 z+ \
  339. STA $BD" \) \% d+ X& Y8 z
  340. CLRF:
    $ V% J- h4 `: y6 {
  341. JSR FREE_PPU9 t+ G1 i7 d5 U; X' v: K
  342. RTS! G% G5 W- E( M5 x2 H/ Q- h. A0 @
  343. 7 t; ?3 x6 Z6 X
  344. $ D, d( O' K) b+ @: r- o
  345. PPUWRITE:    ;PPU写回' o, d0 z' j$ o9 v# h1 h
  346. PLA
    ( U$ v/ F; W! H3 l' @( l! @
  347. TAY
    : {: o7 @/ X: l
  348. PLA. }7 N( N: U  Q" H- c+ H7 p
  349. TAX6 ]" o: z4 D% N+ {1 n6 _6 v
  350. PLA8 E; a5 L# O; c! }
  351. LDA $25" g! [6 u( F& n, {/ U- e" [
  352. CMP #$00
    + W+ i. `3 L5 c% e2 N1 c: _
  353. BEQ WP1
    4 N6 L1 Q( Z4 a0 J6 @& }+ Z; J
  354. LDA $25
    ( x2 I/ g6 F8 p% w& t, X& ]' @
  355. CMP #$011 E  l6 c5 @' ?* _7 s2 @. @* l/ ~
  356. BNE WRE
    8 C0 C0 ^0 H  q* N, o' K; t
  357. LDA $F5,X+ e( R& `; f' f. g' B+ y' a/ @+ K
  358. AND #$EF
    5 |  i+ [( W$ J% O( z+ M' Y
  359. BEQ WRE
    4 @. p' a) p/ v. b: k! \
  360. LDA #$00( b* x1 ?) p  g. d' P9 I
  361. STA $7FA07 C! S  ~  e8 F( v+ p! m
  362.   K$ d8 U7 ]: B3 K6 T
  363. WRE:0 c7 A* v. m" r! U) B
  364. RTS  e3 J" u; Y$ I/ ]* ]% U0 Y

  365. 8 P  l) l* [, V3 c5 s
  366. WP1:7 t% j5 Y# s; m
  367. LDA $7FFF
    ; q% U: S6 P0 y2 L, ]. w
  368. CMP #$FF2 N' l) \8 R0 }6 L6 m8 G
  369. BNE WRE8 G. g7 J2 W6 m; Y" q
  370. LDA #$00  R! t4 u/ Q& r5 C
  371. STA $20018 l, A. u8 I) u
  372. LDA $BD
    5 j0 j6 t8 c9 S% l9 P
  373. PHA- @3 A" F  R# _. {, I
  374. LDA $BC
    , s( }1 Y& h. N, a
  375. PHA, D5 E) L0 L: d
  376. LDA $BB$ `2 m2 w. [/ I& g. }+ z* V
  377. PHA
    7 m% k! S; b9 _# ]3 V
  378. LDA $BA2 q5 X; ?' e# l$ ^  t# C
  379. PHA
    1 t6 z6 X9 v  r6 X+ i
  380. LDA $B9
    . B$ K) q: r" o: X
  381. PHA
    ! ]) W& I' n  V. |' W7 u- K
  382. LDA $B85 s" Q2 }8 T+ `9 p6 A
  383. PHA
    3 a+ Z4 B! Q" }9 b+ ?2 l
  384. LDA #$00( a& h3 J/ s. q/ R3 d
  385. STA $B8
    ( z/ K/ s$ D- B
  386. STA $B98 @. S  {1 G" |* H3 ~2 Z
  387. STA $BA
    . `- f3 ~' X0 M. l
  388. STA $BB
    9 ]  T4 Y4 u9 G) v0 r3 C1 q
  389. STA $BC( V1 K: u1 \' S0 @1 ^
  390. STA $BD
    " k; S  t, v% ]3 P% w
  391. LDA #$00
    9 d9 u9 D- I. n. ?
  392. STA $7FFF/ d. {- t1 p# @8 {2 `1 ?8 T% m, O+ N% @
  393. ! b; r1 L/ W! E- ~. g
  394. WL0:
    * {- t+ j3 C7 r6 d" _! D, d$ P% k7 b
  395. LDX #$00
    4 M; R- e, x7 @
  396. LDY #$00
    - Y0 D3 Z& w* t0 f& G
  397. LDA #$00
    . F6 O2 C$ U/ N8 w
  398. STA $BA
    , A" v/ L0 [7 c4 ?% z
  399. LDA #$20
    9 @& k1 q* C5 e! K; V
  400. STA $BB
    ! n% `3 `0 C0 M( v! \& c2 k& p
  401. LDA #$00+ ~) r* U3 [9 s$ I( E" A
  402. STA $BC" p3 K: W3 Y$ @
  403. LDA #$60/ T2 W/ J$ k8 T+ U, F% d
  404. STA $BD% O, J  m% Z) g6 [' Q2 s) k

  405.   D$ c7 j  B. S8 Y" u) ?, W$ e
  406. WL1:
    $ y8 M2 l0 W- @3 x1 v
  407. LDA $BD$ P% [& u# ]' o9 Y  J
  408. CMP #$68
    5 e, V; K" V/ `* K1 r; d2 c( _/ ?
  409. BNE WL2
    7 N, m4 m' u. q  G! ^
  410. LDA $BC
    & g9 x/ i* k9 ~/ H5 Y6 w
  411. CMP #$00: V! @# {" r2 w/ }
  412. BEQ WLR" g5 x* G* n2 q
  413. ( S, b+ l% t; J3 T6 h% ?* Y
  414. WL2:
    ( `4 j# p( M# v# b
  415. LDA $BD" y5 a$ J3 K, S" t' J0 ^! [( j
  416. STA $2006( R' c3 H& i$ k, p
  417. LDA $BC, n" e" w, |! v1 x/ g0 E, z: e
  418. STA $2006' i5 S) b- L& F
  419. ( M/ H% \9 I; z7 e" c$ m
  420. WL3:
    ' E9 i' ?: n( K4 M3 n2 ~" M% }* U
  421. LDA ($BC),Y
    2 n" b  K: ]: c+ h
  422. STA $2007  D9 b8 G0 @  Z* T4 T. f

  423. . G5 B# ^0 D& G) O. b' m
  424. WL4:
      p' ~* R9 h0 Y" ?
  425. LDA #$007 X, p5 L3 a$ T8 k6 `* J
  426. STA $2000
    ) J0 Q. O- y* Q
  427. INX, a4 D0 T& V3 A# p2 a6 ~' P8 m$ |
  428. INC $BA. m1 E, N) f; O9 f9 z/ J5 M8 L2 Y: p9 A
  429. INC $BC! Y+ N( z6 j% k, L
  430. CPX #$00
    - ^, A0 R, k& U4 q. f$ E$ g
  431. BNE WL1
    9 v0 ]4 g% Z0 Y; n2 ?4 G
  432. INC $BB4 \& C* ?4 s) O2 K. D/ [/ \
  433. INC $BD2 R6 U2 O+ X6 I+ b( Z
  434. JMP WL12 [5 S7 Q+ m- }2 X8 r
  435. ' v/ G; j7 {2 W, c3 C4 K6 P
  436. WLR:
    ! ^8 N$ u/ p. z& N! k5 z
  437. LDX #$005 P$ G( S1 t# o1 B( z
  438. COPY_7F00_7F3F:4 U% V# v5 Y; U, Y/ H$ K
  439. LDA $7F00,X
    8 @* q, o1 m6 L1 ]6 P' W  x
  440. STA $07C0,X( m% }+ U9 `. x7 |1 T& V
  441. INX1 e6 U9 B5 Q5 {
  442. CPX #$40" M3 J3 i' C* ^' {, _7 q1 m
  443. BCC COPY_7F00_7F3F6 ], G3 J; u( P8 F7 A
  444. ) @+ x3 }1 L) d  u" b& C0 a- Z( Q
  445. LDX #$00
    % ?+ `0 O- D' [3 O7 ^, @, ?5 Z8 r
  446. LDA #$3F4 p( n7 H9 t3 z; o1 M! `  `
  447. STA $2006
    3 U+ R& H3 e$ `4 |0 x* L
  448. LDA #$00
    0 N# R( u8 s. G
  449. STA $2006
    * k+ c) q* j( j7 p. D
  450. COPY_7F00_7F10:
    6 z6 {" A! N  ~; f9 ]2 M
  451. LDA $7C0,X
    5 d( R- a7 @* I: x* L" v
  452. STA $20079 L- f. `2 t- h2 a
  453. INX0 a1 l9 J5 {/ S% {
  454. CPX #$10) x# s$ U& R, \' K
  455. BCC COPY_7F00_7F10
    . P; p! e8 C3 i  V+ Y! w
  456. ( l) N" W% c+ }5 Y- n
  457. LDA $2002  ]5 Y# K% V/ M) n
  458. LDA $FD
    + e6 G& O' Z! `, Y# A! r& x
  459. STA $2005( o. y2 \/ {" k* H* Y& v4 T: G
  460. LDA $FC3 f6 U$ Z; ~& u
  461. STA $2005, u) ?# U" C( r( ?: Q  d1 a9 Q

  462. % p  E5 C1 x9 E: e
  463. LDA $7F50
    2 Z" k! T& y; A: d& V
  464. STA $FE
    ; Z$ ?7 c' l' _* E) y9 t" b
  465. LDA #$00
    ! @9 ^3 z- V# Y
  466. STA $2000
    ; s/ x9 J2 d3 w( E3 |
  467. PLA; l, n% L! t5 C9 _6 ?& _6 s) a
  468. STA $B82 d  m. u, a9 `$ Y$ z
  469. PLA; a6 [' h# L4 ]: e
  470. STA $B9
    % D, E- y' r7 M) f  L/ j
  471. PLA
    8 e$ K1 F. A2 x2 S' l
  472. STA $BA
    ( s8 ^0 Q9 E* W7 R% x+ }1 p
  473. PLA9 W9 n7 u) n, `
  474. STA $BB
    % b" K$ J- E( v' G+ e
  475. PLA+ R0 Z* j& g2 w! Z! f
  476. STA $BC8 f! m2 L! ?% X. L% f
  477. PLA0 o# V  Y1 l- x. r  a
  478. STA $BD
    - c  j. E& d+ p" z# q& h  u
  479. + J: T* V$ L" V* t' ?
  480. RTS
    6 E0 Y; Z% |2 n+ M9 M; D
  481. ' e* e' m  S0 _6 _1 [* {/ `
  482. PPU_CMP:; [$ Y6 P. t$ `- e9 G- S! B& _
  483. ' ?- W. o" D- E4 w

  484. ( t- Z6 e( g/ W3 N4 U# y
  485. PPURE:# j* b2 h: s! s) d2 ^* k( M
  486. RTS
    / M- H; T, S" _! A: q" O, F
  487. & k) L3 i/ L( c. q  K
  488. 0 J9 w2 y) [5 C6 \. b7 t: Q
  489. FREE_PPU:6 M3 ~3 U% n( L: j1 P6 q4 q
  490. + e* D8 v3 @1 z3 \8 D
  491. JSR TEXT01_PPU
    ( c5 N+ P' x0 t7 y+ c7 v
  492. JSR $CBC0  k7 V# H! b1 k7 E) U" Y  r( b
  493. JSR P1_PPU6 d4 ?6 Y$ k1 F/ Z: _9 V: V$ S
  494. JSR P2_PPU
    & s/ F5 f1 I2 Z* E9 y& A  E
  495. RTS) S4 a$ p& A2 Z. `+ g

  496. 2 m" u! V0 @6 |) K' F9 ^; Q
  497. TEXT01_ADDR:3 n# G) C+ [' p0 N! B! D
  498. .BYTE $20,$42
    * a1 l' _5 d. a7 U% Z0 X8 Y" i
  499. TEXT01_DATA:& i1 W; l% {, Z1 j- E, K
  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
    4 c8 H2 x0 d1 @/ X3 ^; y6 o" b& v  C
  501. TEXT01_PPU
    6 Y5 ^& v3 D8 a/ T0 D
  502. LDX #$007 L* m! J! l/ d' _" ]7 \7 L
  503. LDA TEXT01_ADDR5 a& _$ _. A  e
  504. STA $07034 w3 ?; A& k3 R
  505. INX
    * H1 l5 \9 L* M+ Q! u# }( n  _/ o
  506. LDA TEXT01_ADDR,X* [4 }9 T1 j) H2 q) S
  507. STA $0704
    ( e3 W9 n* t" e6 p+ N
  508. JSR PPU_PROCESS6 p! {% A5 w  ?
  509. TEXT01_W:
    + H# z( }' E8 D
  510. LDA TEXT01_DATA,X/ ?# ~' ^: {9 q& @, ~* n
  511. CMP #CEND$ n" C$ S/ `% @6 \; l
  512. BEQ TEXT01_START! e) ]" [! [1 M5 V  E; a2 Z' T
  513. STA $0705,X
    0 B& S' g& ~; r& x
  514. INX
    / J) z. c8 U9 v1 d! z$ ?
  515. LDA #$00
    . n4 V3 w4 t" ?8 r* m9 e
  516. BEQ TEXT01_W
    ( k8 Q, F" i; _% \! Y
  517. TEXT01_START:
    % a7 l2 Q/ l0 m% ]" ]4 l
  518. JSR PPU_START
    % E; ]0 U3 k" M' ~
  519. RTS4 J2 V* w8 P! m1 i7 t$ m9 b

  520. # A: e' @. T/ u: b1 E
  521. - ^& a, M: ^2 t2 _6 I1 Z- A
  522. COLOR_DATA:2 [1 W3 \) ~+ Q! \! l" T/ y) D& p
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    8 ?6 `, @4 N, Z+ I/ f

  524. & a3 k6 f  G: B. j9 ^
  525. P1_PPU:: v7 A/ i( M6 @% J8 F5 d2 k, Z
  526. JSR PLAYER_01_PPU
    ( ~8 w5 `1 f& o8 R) s
  527. JSR $CBC0
    " t0 U5 {/ b0 V  c" V3 }1 a
  528. JSR RELIFE_P1_PPU" o- B8 P5 K* w( R4 }8 l
  529. JSR $CBC06 {; u0 A4 n) M6 F! S
  530. JSR RELIFE_NUMBER_P1_PPU: E1 Z3 u2 }1 w/ ^# _
  531. JSR $CBC0
    5 o/ t/ [/ s4 u
  532. JSR WEAPON_P1_PPU- e) h3 Z$ f/ h# k! B6 C: Z) R) s0 M& ^
  533. JSR $CBC0
    0 }) N+ q1 d# F+ R% f: z
  534. JSR BULLETPPU_P1_PPU
    # U1 b2 o7 N- t- W! R$ [2 a: ^  ^  B
  535. JSR $CBC0# t( {5 i: I; A1 L2 t0 B* X
  536. RTS8 e( |- Q: w$ _( x$ w3 S% R& [) F

  537. " \% L+ v4 }# s$ P4 |8 f+ Z# p
  538. P2_PPU:
    + N6 V  w+ l& _" `# J  B8 N. N+ O
  539. JSR PLAYER_02_PPU! r5 y, z5 i* K% Q
  540. JSR $CBC0
    " _1 L: R$ J5 w' n4 w7 L- m- Q
  541. JSR RELIFE_P2_PPU
    : r8 z" f0 d4 G
  542. JSR $CBC0
    1 r& d: R5 a4 C6 U6 W( _& O" f% n
  543. JSR RELIFE_NUMBER_P2_PPU
    % ^4 D/ E& W8 |0 ?
  544. JSR $CBC0
    % M1 M, F3 v# A' D
  545. JSR WEAPON_P2_PPU" T0 S1 R. W+ j/ K8 T
  546. JSR $CBC0% }) i) R3 P$ h2 M6 `8 P# G. K, s: p
  547. JSR BULLETPPU_P2_PPU* y3 y6 ]" L' j4 g* t% W
  548. JSR $CBC0
    / o! M+ ]+ J5 _1 i/ w
  549. RTS" c2 h5 p( ~. }. G& @0 k( ]3 v
  550. 5 G1 S" h. V4 d
  551. 0 Y* u" j8 J, h: B& ?$ u" u7 v

  552. . \$ B, W7 w! O2 K
  553. PLAYER_01_ADDR:6 I! n+ y! P5 G) Q3 B3 B# P
  554. .BYTE $20,$A3) m9 c) t) s; S9 [7 p9 K1 O
  555. PLAYER_01_DATA:
    5 C" A! M* l4 r( S
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND/ |* a4 E/ G; p8 y4 @. d+ ]
  557. PLAYER_01_PPU:
    . \4 N: a0 o- S
  558. LDX #$00
      r9 h/ E3 _/ ~/ |9 Z6 [* f
  559. LDA PLAYER_01_ADDR
    . u: V! c! ?, R6 ?. O9 J
  560. STA $0703& c+ n' Z" F, Z" E2 L2 C
  561. INX
    8 D( }+ V8 H- b5 _
  562. LDA PLAYER_01_ADDR,X
    # H* @  H5 s  Z& r0 [# L8 m
  563. STA $0704
    : S7 X8 K1 ~. i5 V3 ~% A
  564. JSR PPU_PROCESS) ~+ B$ a  C: m! l
  565. PLAYER_01_W:2 p$ ^& z* S5 [* v/ T
  566. LDA PLAYER_01_DATA,X  {3 I* k" r3 }) v; ?
  567. CMP #CEND
    " T7 }- P5 y4 `5 ?( {% d- H% U
  568. BEQ PLAYER_01_START( y- D7 Y2 ~( e& p0 S
  569. STA $0705,X
    7 {3 a  g7 T# u# H5 Z/ `" I7 Y7 i7 D
  570. INX4 q. o6 T! F, l4 T3 a
  571. LDA #$00
    * b" S- v8 u' j* a) G% f2 [/ i
  572. BEQ PLAYER_01_W
    5 ~1 p# R0 f, e" I3 w  B
  573. PLAYER_01_START:
    % h* [* ]0 t$ E# c; U9 j) O2 \
  574. JSR PPU_START
      d3 w, t- h1 Q: [5 s3 q$ Q* o6 `- T
  575. RTS8 i# N" K; g) z( \0 v

  576. 8 w6 L- J) [: q1 Y( Y: Q2 {8 k

  577. - f+ H+ t  A/ T4 r: C
  578. RELIFE_P1_ADDR:+ ~* w% n  Y" C8 T
  579. .BYTE $20,$E3
    # g3 m9 h0 M( {/ g
  580. RELIFE_P1_DATA:
    " |7 V: N0 G' U- E; I- Z. E
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND$ b. `  Y3 N. @2 z! Q- Y0 s2 h: }
  582. RELIFE_P1_PPU:
    8 Y5 G: ]# Y# k' g' j8 n# G$ r
  583. LDX #$00
    ; j) Z- y  @6 t& _
  584. LDA RELIFE_P1_ADDR/ j- q# S  d+ B! F6 R+ E7 n
  585. STA $0703
    * ]$ I1 ~- [# G6 G7 K3 l
  586. INX
    7 w$ s+ a3 I4 W9 @' m: G  C8 C% G2 K
  587. LDA RELIFE_P1_ADDR,X7 f8 S& q# O2 F* x. e
  588. STA $0704! q$ g: `: o5 H1 g, e% z1 S
  589. JSR PPU_PROCESS
    ( i7 X- O8 M: r7 D( Q; F
  590. RELIFE_P1_W:
    . e+ X3 s( A6 s. N+ y  I! d
  591. LDA RELIFE_P1_DATA,X  {; S* l7 e, q. A3 a2 V1 x5 B$ g: |
  592. CMP #CEND6 P* S! E3 r- H9 `4 `9 H
  593. BEQ RELIFE_P1_START# b% u! w7 ]$ {4 c3 v8 j
  594. STA $0705,X( }& Q9 R. W" b1 O2 N& v8 K5 e
  595. INX8 H& y# V3 w  ?3 i1 a* l
  596. LDA #$00
    / \  P8 S2 y/ `8 y5 B
  597. BEQ RELIFE_P1_W6 l, _' o3 ]- L' H3 w" S
  598. RELIFE_P1_START:7 `( C' C$ a& q4 u9 y2 |/ T
  599. JSR PPU_START
    % L. {2 O* s% q2 H; ~) }
  600. RTS) S; R8 k6 W% b9 _" Z

  601. 7 n8 z5 q/ X; d# Y; a0 \

  602.   M4 i' w0 N) P, j) i( c, j0 o
  603. RELIFE_NUMBER_P1_ADDR:/ P' v+ d  i% s3 I, q% U$ i
  604. .BYTE $20,$EA7 P) _8 g$ D8 C
  605. RELIFE_NUMBER_P1_PPU:
    ' O  V3 |% M9 M6 k4 ^
  606. LDX #$00
    ! h7 C! L  w1 J* [
  607. LDA RELIFE_NUMBER_P1_ADDR
    6 X+ [9 a  E/ u: n( q* J
  608. STA $0703
    ( g9 b' P- q  S( v5 p0 W3 C
  609. INX+ N/ x+ C7 a6 d
  610. LDA RELIFE_NUMBER_P1_ADDR,X# r! i1 f$ \) h4 Z2 p5 u
  611. STA $0704
    8 h9 \- ?" H9 M
  612. JSR PPU_PROCESS2 p" T) p, X- ^2 O4 p& j
  613. LDA $323 R9 S  E+ B2 j$ c2 w
  614. JSR LIFETODEC
    " U/ c& |' ^7 j2 Q
  615. RELIFE_NUMBER_P1_W:
    7 ~2 e% y" p! V# x: I1 T6 B
  616. LDA $7A03: ^; v* l  X, v4 t" |  L
  617. STA $0705
    ' ?1 I& m+ ^3 a! r0 C6 |
  618. INC $0705
    : ]6 m+ @' g: d3 [% E1 {9 b! `
  619. LDA $7A04. u0 h8 Y$ m$ y7 N4 ^
  620. STA $0706; {5 P' h8 h1 e0 S1 j$ x* n
  621. INC $0706) N% e0 X4 l; y9 l4 ~
  622. LDA $7A05
    ; C9 o. l5 U  ^* y- N. n
  623. STA $0707. l4 D6 W6 P- S2 f5 F9 P; {7 g
  624. INC $0707$ q2 B( z4 i# Y4 n4 a& o
  625. LDX #$03- U/ C( t" ?; Y' \6 B# D* Z1 |. A# g
  626. RELIFE_NUMBER_P1_START:0 s1 k5 Y+ D: D  z/ \
  627. JSR PPU_START/ s5 a: {- L" b  _9 J
  628. RTS6 Y% N3 R6 F% o) s7 z
  629. : K) @1 V2 W9 _) L. A
  630. WEAPON_P1_ADDR:
    0 S' d9 ^- z1 ~% c7 \7 h8 K, d
  631. .BYTE $21,$23
    6 e8 Q- K/ l+ \6 N, i
  632. WEAPON_P1_DATA:
    - K) ?0 g; D1 \( P5 b
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND
    9 S+ S/ h8 |% G3 d5 I/ |; Y- P
  634. WEAPON_P1_PPU:' U. x# N  R$ t% }4 w# }$ q
  635. LDX #$00
    % ~( F: u# ]2 \& l" F
  636. LDA WEAPON_P1_ADDR
    6 I$ B7 l0 x' g$ S. g/ U, O9 h7 Q
  637. STA $0703* p7 n' [  B  w6 d2 l+ C! y2 q! g. ]( q
  638. INX
    ' }, `1 V- ?7 d1 v+ ~
  639. LDA WEAPON_P1_ADDR,X: w1 \# f& a7 `3 {9 \& I
  640. STA $0704* Y7 m, s2 ^8 [8 n. \6 t. v# @; d9 i
  641. JSR PPU_PROCESS) d% |. }" N. m; H/ O
  642. WEAPON_P1_W:
    , B: S3 A, @4 w) o8 n
  643. LDA WEAPON_P1_DATA,X
    " W( c  ?9 Y& `# Y% \
  644. CMP #CEND) i6 [7 j4 n6 v6 b
  645. BEQ WEAPON_P1_START
    2 j4 w. u# R* t8 V  u0 P
  646. STA $0705,X
    1 y  j5 J- n1 L. d3 N4 J+ K6 b0 ~- c
  647. INX  Y2 `; }- b3 E; x9 D* i0 N) M
  648. LDA #$00$ Y0 H0 S  I) @& I- S  X
  649. BEQ WEAPON_P1_W
    ( U3 e' p* Q- r, w3 R5 w
  650. WEAPON_P1_START:
    1 @( s6 h9 Q1 D' ^& n& B1 G# r4 E
  651. JSR PPU_START
    * w0 i/ ]0 i* r
  652. RTS
    & y7 J! h* \# ?' ~: \
  653. % ~6 c, g! h5 X8 C2 K1 N
  654. BULLET_P1_ADDR:
    6 p0 a9 S' \, ~! g* O
  655. .BYTE $21,$2A5 w, Z: q0 O- R, j% a
  656. BULLET_P1_DATA:2 F+ r9 Q6 V5 n5 m7 c
  657. .BYTE $00,$01,$02,$03,$04
    # A: w8 {9 d/ g& d- Z; Z( y* B
  658. BULLET_P1_NAME:
    0 ]9 t) H5 J, q: o
  659. .BYTE CN,CM,CF,CS,CL# E6 p7 l  G4 Y1 r8 ^
  660. 2 i7 `& V5 e" q
  661. BULLETPPU_P1_PPU:
    " u3 u9 @2 X% s1 n  g; ]# m
  662. LDX #$009 G. J# x& B2 }. b9 ?# y# W  C
  663. LDA BULLET_P1_ADDR; S3 }7 [$ P( U( s2 l
  664. STA $0703
    ( ?2 X/ {! n* i! v9 H
  665. INX
    . t: R8 i* U" R; M$ m, R% L
  666. LDA BULLET_P1_ADDR,X9 I( g6 i& t- q/ I) Z
  667. STA $0704% H: I/ C; v4 W# x# P6 }/ J% w
  668. JSR PPU_PROCESS- b& `4 r) e+ ?0 J! f" L
  669. BULLET_P1_WRITE:
    2 g! ]# I% y4 f2 @
  670. LDX #$00% ~7 i, x% T7 ^; f, N% Q
  671. LDA $AA
    8 U! t3 Q8 T  p' `8 |5 p7 `3 z
  672. AND #$106 C# H7 W4 A( P, W+ Z4 k9 j- f$ P; j
  673. BEQ C_BULLET_P1
    : @8 ~  P  O* |
  674. LDA #CS
    # U7 l4 o8 f" z# l8 p1 M4 z) U
  675. STA $0705
    / d% I% h7 U2 Z2 }6 I4 j) [
  676. BNE B_NAME_P1/ [1 D/ j( W1 _# Z& z! }
  677. C_BULLET_P1:
    9 V. Y# ~6 d, x2 Z9 u/ ^8 F2 z
  678. LDA #CC
    " a1 h# u1 K0 \, h
  679. STA $0705, _" ^3 D4 d" ~, @, |  S
  680. B_NAME_P1:
    9 ^. t; j- H, Q/ \9 e" w! V
  681. LDA $AA* D' x) X: \2 @. I, e
  682. AND #$0F" ]5 c1 t4 {0 Y* K2 j3 ?( |+ D& p
  683. CMP BULLET_P1_DATA,X
    % ^* p6 D; ]6 r9 b, [! D7 r
  684. BNE B_NAME_P1_RECMP" V$ K% f0 }+ ^7 z8 Y, h" b+ W4 Y
  685. LDA BULLET_P1_NAME,X
    # P& K% ?: A' L0 d
  686. STA $0706# v7 h2 \6 y2 \% v! C3 B3 p$ O
  687. B_NAME_P1_RECMP
    ! Z  o' c$ v# j0 Y
  688. INX
    + I0 J) Q6 X- [; o4 b
  689. CPX #$05
    ! ^( e5 x- e# Q
  690. BCC B_NAME_P1
    & j& ~5 Z) q' x- I+ I
  691. LDX #$02
    0 J6 c0 ?0 r+ T# ?/ f
  692. JSR PPU_START
    2 O5 G4 h4 ~$ A2 Q
  693. RTS( B% I! k& T* Y  F- ]
  694. ( u, `4 w( i* p" X7 p( _% w+ [) }
  695. , A' p! ]7 e( [* l* U/ S
  696. PLAYER_02_ADDR:  G1 E4 E3 F' U. ]: E) `
  697. .BYTE $20,$B3
    & F5 f/ }; F8 ]6 H9 Z8 f- c9 r
  698. PLAYER_02_DATA:0 R/ c5 n: e$ o5 `
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    : {4 W+ l9 J7 D: n9 b
  700. PLAYER_02_PPU:! ]1 {8 A- _, O
  701. LDX #$00, L- x) p3 u- v& T/ C
  702. LDA PLAYER_02_ADDR7 F+ a' Z- X6 \
  703. STA $0703# Q1 _, ?0 H3 k: \1 \2 D
  704. INX* N- S( `" k. S* c
  705. LDA PLAYER_02_ADDR,X2 H* v$ a8 ~3 `/ p3 x
  706. STA $0704/ D/ B6 K7 U) Y9 M* J2 E" u0 W. u
  707. JSR PPU_PROCESS! h7 t0 ]' ?0 r
  708. PLAYER_02_W:
    / q9 M5 K4 G4 L, r9 S) w1 e2 I* M
  709. LDA PLAYER_02_DATA,X1 c7 N3 n+ @6 v  d: x
  710. CMP #CEND
    ; {( I5 [) p' N2 x5 T8 [% Z
  711. BEQ PLAYER_02_START
    , @  t; N8 w- L
  712. STA $0705,X
    - j8 {, _; c" t7 m. J
  713. INX
    * l) b. b( k7 l/ Q
  714. LDA #$00* \! O0 @- |: N7 |) ^
  715. BEQ PLAYER_02_W
    1 }( _- V8 [; l& R3 _* ~
  716. PLAYER_02_START:
    & B& P& n) R/ w- T" t) J; ?
  717. JSR PPU_START0 H7 C* [4 _6 V  Q
  718. RTS2 ?, c* E% L  L9 K: _, o

  719. # {, E" X3 P9 x9 m; X

  720. 8 U1 J* d% Z$ Y1 t) I8 ^5 I$ T
  721. RELIFE_P2_ADDR:
    / H' _& R" M2 q
  722. .BYTE $20,$F3
    + u" S$ o/ @: Z. S
  723. RELIFE_P2_DATA:$ s8 k6 y# l. X  V; j
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    & Z5 U0 f' ]7 `, v. z; h* ?" K% q
  725. RELIFE_P2_PPU:& b, O1 e( G+ }, q% _6 g- x, [" X  L
  726. LDX #$008 {9 N5 D+ x( z/ t% j1 D
  727. LDA RELIFE_P2_ADDR* j- p; f! A4 ]' _  D3 Z
  728. STA $0703; Z) K+ A2 @+ n- y/ c+ Q( `* \
  729. INX* s5 @4 r; v1 n) f' l3 f8 C
  730. LDA RELIFE_P2_ADDR,X8 j3 c2 Y0 s0 R7 t1 d3 f( r
  731. STA $0704, `2 F% j4 f* ]7 c% Y
  732. JSR PPU_PROCESS9 p/ }: V( W" m5 _1 O, M2 p5 F
  733. RELIFE_P2_W:! P% H' v/ l9 e; v7 l% o" a5 e+ V
  734. LDA RELIFE_P2_DATA,X
    4 M. R3 q* H! s6 Y6 O( F2 n7 t
  735. CMP #CEND
    5 ?/ Q% {. I. p) t
  736. BEQ RELIFE_P2_START( U; S- {& M1 |; z; S/ T* |
  737. STA $0705,X
    : I' O2 k# h2 i* |7 v
  738. INX
    * N7 k( ^6 z( ?3 D; J
  739. LDA #$00
    * M, Y: \, A& A2 N# r5 M
  740. BEQ RELIFE_P2_W
    0 `/ M( V( ^" ?. r
  741. RELIFE_P2_START:5 G% n* o9 g# I, N. b, P
  742. JSR PPU_START. e8 b: q9 N- F+ D) M
  743. RTS$ S! q* j, t" A. `8 N( v* L7 ?

  744. - d1 A9 n2 m3 H- f4 ^7 R
  745. 4 f  e' n+ ~4 {3 X8 W
  746. RELIFE_NUMBER_P2_ADDR:$ C/ c" J7 ?* c+ I* K
  747. .BYTE $20,$FA1 {: O0 Z8 r! E; u
  748. RELIFE_NUMBER_P2_PPU:
    4 g- s! e: Y! H3 E- e- n
  749. LDX #$003 s: z# ]# z: z+ e( {* S
  750. LDA RELIFE_NUMBER_P2_ADDR* _0 n9 K4 g, w& n# |8 a
  751. STA $0703
    : ?' N3 z' v: e4 E0 P0 C) q/ ]
  752. INX
    ! D( q# D) U$ `* \
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    / A. I, M* ?9 F# @/ p9 R8 y, o
  754. STA $07043 X1 k7 I# C3 u; F* p8 o$ y% T
  755. JSR PPU_PROCESS3 K& F( z: J0 [& ^6 _' l8 J  E
  756. LDA $33
    4 j' S8 I- x* K0 a0 |
  757. JSR LIFETODEC
    : d! _, a( @% N6 y
  758. RELIFE_NUMBER_P2_W:7 e# t/ k: D0 b+ i8 ]
  759. LDA $7A03
    9 ~! F' u2 \6 E$ {8 J8 M2 `
  760. STA $0705
    ! R# s' h4 ~  ~6 j# ?7 P
  761. INC $07050 D! a8 k' Y( f$ }) x
  762. LDA $7A043 g5 q  ?' m% L) m$ U
  763. STA $07067 g. {4 k! J: Y  m) n4 @0 j3 Q
  764. INC $0706, @7 M* U1 t; z% T, z/ y  o
  765. LDA $7A05+ c- K) c  \2 ]5 p  M
  766. STA $0707
    0 {) }: D7 |1 E$ E6 r
  767. INC $0707. Q4 ~1 K* p% g& ?% x. b
  768. LDX #$03
    ( D) }1 b7 L5 c9 J1 E
  769. RELIFE_NUMBER_P2_START:" \: q5 c2 k0 b0 p3 J
  770. JSR PPU_START/ _5 P1 w( x' y5 r$ t; b3 l
  771. RTS
    : t6 ~7 @$ f6 v% ~, B! T
  772. 8 X5 H2 g* h, r6 v7 C
  773. WEAPON_P2_ADDR:
    3 e) d. j2 T5 o2 ]; u) _, c
  774. .BYTE $21,$33
    1 @- g. p5 [7 `  O6 X
  775. WEAPON_P2_DATA:/ _& V7 M, R4 j" G7 q2 [5 z4 N& L* S
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND6 P4 Q  Q. r" L8 g
  777. WEAPON_P2_PPU:/ M9 U7 b0 X) E. ]( \* z$ A; ]# Y$ c
  778. LDX #$00
    + K. v, c& [) o/ V  {) r% a3 L
  779. LDA WEAPON_P2_ADDR
      P' b+ ]1 y! w1 R8 K+ T+ ~0 Y4 H
  780. STA $07030 i' F" V0 k$ W$ y8 S! W7 h& H5 x
  781. INX# l- b0 E6 E7 V- X9 d' |
  782. LDA WEAPON_P2_ADDR,X
    / E5 p8 E! s& x1 Y8 Z  h
  783. STA $0704
    / {) }% ]0 r  B$ F; |
  784. JSR PPU_PROCESS
    $ o9 J2 Z7 c$ Y2 r
  785. WEAPON_P2_W:6 W# L. e( u, Y/ H
  786. LDA WEAPON_P2_DATA,X
    8 _$ @$ k  h" a8 P" B& w
  787. CMP #CEND
    4 p( H8 A1 O" A% i8 j, [5 Z8 A% K
  788. BEQ WEAPON_P2_START$ I2 D3 H$ n* U$ R1 Q* K
  789. STA $0705,X
    % D, n/ v6 g" u
  790. INX
    $ u1 a' P0 q4 ~
  791. LDA #$00
    # w3 s* l+ B/ w
  792. BEQ WEAPON_P2_W
    - c6 Y# U5 w0 S  K8 I/ v
  793. WEAPON_P2_START:
    ( d0 L: w# P* m5 \( E' \$ u/ }
  794. JSR PPU_START
    & v. }' u( [# E# P( c. |
  795. RTS
    7 g, x3 E. w# Y/ T& l

  796. ! |' A; G, ^6 S* f" o$ P* m4 r6 M
  797. BULLET_P2_ADDR:- H1 p, o6 h0 a1 N3 a9 f
  798. .BYTE $21,$3A
    # h  q- z6 e# O  d; C
  799. BULLET_P2_DATA:+ w' L* e& O7 E2 A" b! J
  800. .BYTE $00,$01,$02,$03,$042 o, B9 D- {: `: }6 |3 x
  801. BULLET_P2_NAME:
    8 p/ d& x  \: U+ g2 o, z0 {
  802. .BYTE CN,CM,CF,CS,CL0 X7 \7 N2 c( d5 K  V# T
  803. 7 v( }5 N1 [- X  D( E
  804. BULLETPPU_P2_PPU:
    ; F% T, o& t' W! E, K! b, u
  805. LDX #$00
    4 c8 C. r8 ^$ u
  806. LDA BULLET_P2_ADDR$ [0 t: I6 ~" [6 ^5 d& C( x1 h
  807. STA $0703
    / P; E/ c) B5 w1 }# w. V3 d# J2 n! `
  808. INX8 s9 J- J1 X1 B6 D" x
  809. LDA BULLET_P2_ADDR,X
    % J  e% \! N$ M6 Q5 N- h
  810. STA $07043 r  `! n3 `  @: o
  811. JSR PPU_PROCESS/ H! _* P9 X$ N9 n( l
  812. BULLET_P2_WRITE:
    # {" `6 J8 D3 \. @1 G1 \" k' O
  813. LDX #$00- Z; k; O% S, H2 ^* v- O, K
  814. LDA $AA
    % h5 t0 t6 B5 Z- o0 a# Q
  815. AND #$10+ X* l/ y2 Q3 E0 a7 \# }+ H
  816. BEQ C_BULLET_P21 P  a6 g: k/ W, v5 ]* c/ y% D
  817. LDA #CS
    % |# h; S1 p; N# M/ |0 Q& c3 L6 h
  818. STA $0705
    1 j6 O$ e; J, @! t# c
  819. BNE B_NAME_P2
    7 d' D$ z) v( C$ G- O
  820. C_BULLET_P2:- i) }  ?) B: w2 S1 i9 d+ Z5 f
  821. LDA #CC
    7 a& n( R! g, V; V* {8 N8 P
  822. STA $07058 W( D$ L' a. J# Y; b$ }
  823. B_NAME_P2:5 H; T  ^. ~# P3 y$ Q, s
  824. LDA $AB
    ( o( Q* k- E# J# c4 E3 V
  825. AND #$0F
    7 ?( N0 O) x! j4 ~
  826. CMP BULLET_P2_DATA,X
    1 O' o" a4 S, g; X+ C
  827. BNE B_NAME_P2_RECMP" U' l3 W1 h: e. }% S3 i- R9 c
  828. LDA BULLET_P2_NAME,X
    % b) q# ~/ |3 `
  829. STA $0706& J& i' [) _3 W: K
  830. B_NAME_P2_RECMP
    , W( w6 d" I) M- k0 b) i
  831. INX
    0 }- s  p; B8 b; \( l
  832. CPX #$05
    4 t+ s6 F3 x  x; F$ Q
  833. BCC B_NAME_P2
    - y3 E& J! M, _
  834. LDX #$02; i4 h" z8 |2 \( x5 `
  835. JSR PPU_START( ]5 o/ P9 |4 z9 k0 M5 C
  836. RTS- _/ m, {# Y: n$ z! ]; D
  837. * N- L6 K7 l: h' X* H( i; r

  838. 6 b# ~2 g! G* L9 Y
  839. 9 d1 s+ p* x9 Q4 H9 m) ]# s
  840. , D9 n: }/ I5 L$ p( O, K" |2 y. K. V6 A

  841. 1 u4 ^# K; ?: }0 {

  842. 5 y2 O7 U5 `+ a. j
  843. LIFETODEC:                ;十进制转换2 o8 M1 W0 u, h: M" F
  844. LIFEL1:        ;initialise( D% V) \: y2 G* ?
  845. STA $7A00        ;$7A00=F3
    . a0 s! t; r& D# }
  846. LDA #$00
    ! S& O9 z; {% J* v' y+ G- h
  847. STA $7A03        ;$7A03=00
    3 {1 s3 t  g' B' t. F7 Y
  848. STA $7A04        ;$7A04=00) C0 W  F2 O; Q( x
  849. STA $7A05        ;$7A05=00
    ( J6 `$ d9 x2 J1 o2 x
  850. LIFEL2:        ;copy data $7A00 to 6001. D4 L8 q9 a+ ~; ?# c
  851. LDA $7A00" e: @' D7 u  R% ~
  852. STA $7A01% N* ^$ B  {, F+ F# m" H1 S

  853. 6 B' ?2 u: D$ u7 j* q0 C
  854. LIFEL3:         ;hundred
    9 o* {( Z2 m5 a2 h
  855. LDA $7A01
    ; B1 I( g7 p  }, w! O
  856. CMP #$64
    6 K; S3 n: R0 o
  857. BCC LIFEL6                ;$7A01<100 goto L6
    9 T. R- r9 F0 E* _
  858. LIFEL4:# m6 Z: I: I7 M4 @* }% f) Z" g
  859. LDA $7A01
    7 F3 j2 `, s. }( d9 ^
  860. SEC2 }0 b3 ]0 t1 b- y2 N0 k+ h
  861. SBC #$64        ;$7A01=$7A01-100
    " Q- L6 F2 B9 e$ k$ a5 Z
  862. STA $7A01
    # O8 }! C. g9 X  [
  863. INC $7A03        ;hundred++
    8 ~/ |" N2 N1 X7 y: I: P  \( `
  864. LIFEL5:3 i0 S# B: V8 r3 ^7 j
  865. LDA $7A015 q) i' c3 u* b( B) z* ^
  866. CMP #$64
    " ]0 x$ ]( k+ V" l
  867. BCS LIFEL4                ;$7A01>100 goto L4$ l* ?, e: L" J0 t  y. U( A
  868. 7 u* S1 K/ h1 l, u2 x
  869. LIFEL6:        ;decade8 a* W6 v" G  ?3 E
  870. LDA $7A01& J6 Q) n6 V* O% o8 C
  871. CMP #$0A
    9 h1 m: r4 N- a' d+ [7 Q
  872. BCC LIFEL9                ;$7A01<10 goto L9
    * ]0 {$ s8 o1 q
  873. LIFEL7:        2 `. g  ~- h3 a0 M, W/ @; ]
  874. LDA $7A01
    # C+ ]7 q5 w3 q0 Y% [7 ]$ Q" \
  875. SEC
    # _% M5 L# m! s! e5 D
  876. SBC #$0A
    ! J; C) Y# h! ]7 m* `
  877. STA $7A01        ;$7A01=$7A01-10
    9 t/ O+ j% H% h0 j9 J; y
  878. INC $7A04        ;decade++3 j. i8 i2 B) L2 u
  879. LIFEL8:
    - g. w. N, z, X( y
  880. LDA $7A01
    ( G7 U) G, e/ e6 y
  881. CMP #$0A
    4 P* y" l/ ?* V0 D) \2 Q$ ^
  882. BCS LIFEL7                ;$7A01>10 goto L7
    $ q$ V1 t2 P; o6 Y9 U9 b3 Y
  883. ;unit- \* h7 l" a/ m* t( w( X2 \' o
  884. LIFEL9:3 ^- \( ]. s1 H
  885. LDA $7A01        ;$7A05=$7A01
    2 \/ R& f9 g- e( ~9 r% M( `$ c" V
  886. STA $7A05        ;unit
    . B# o- k- z1 j$ H
  887. RTS        ;return! n2 \# z6 ^* l/ |! K
  888. 3 [! y( ^) Z9 h6 l- }* J% y. k

  889.   o! Y4 @! |( U3 S# X: u3 b7 M# W

  890. 9 h9 w1 `3 X4 K- h$ I5 N3 H
  891. PPU_PROCESS: ;PPU地址处理程序
    " o  Q# N  i) x: P% J2 b: b
  892. LDX #$00
    * ?. u0 O' E! G6 ?: J- X/ u9 I/ e4 S
  893. LDA $FF
      J# |' w) q5 h" U
  894. AND #$01  J. I% ]' e7 E2 h+ _  u
  895. BNE PPU_2400_27C0: p) F* P5 l2 M
  896. PPU_2000_23C0: ;命名表1
    4 F8 o8 @7 t, F7 u2 |' s5 c- X
  897. LDA $0703
    , o1 Y4 _& ]3 r3 G1 K5 r
  898. AND #$FB
    6 q9 N# x+ Z: @. b4 H4 V: W1 t7 X
  899. STA $0703
    . T" N$ J; Z4 ^, |5 ]2 v
  900. RTS+ A& y& X. W: X. T/ C. K! h
  901. PPU_2400_27C0: ;命名表2" T4 ]: r/ L% I/ F# C6 }6 K
  902. LDA $0703
    5 r1 F8 B+ c* M6 s5 g- F) b
  903. ORA #$04: L; Y( s8 K4 E6 p' b
  904. STA $0703, J7 `; M7 |3 U* [
  905. RTS
    ) Z& G  ], n( B& \( z

  906.   b- {% U5 K) M! |3 b  X, e
  907. PPU_START:  ;PPU数据写入
    ) ^# V0 x- V7 ?; f! s4 W$ w& W; O
  908. STA $21# R1 T! ?& \4 {) v! i
  909. STX $07010 O  a/ D5 z4 m+ G
  910. LDA #$00
    % |  t! d- p. H$ Q
  911. STA $0705,X
    5 {, |7 k! C$ }( s9 |
  912. LDA #$014 {+ P* m3 i* D  a" H) R/ i. W$ ~
  913. STA $0700
    0 W# m$ X+ K" \% J2 e2 M' I. U* M
  914. STA $0702' B! W1 H# a% {. }7 I
  915. RTS
    9 T2 o( s  ^( b% A6 y, `9 [

  916. 2 H% r. Z# H5 ]; `$ l/ `
  917. , _1 o* p9 R/ f1 d) ?$ v2 ~
  918. ) j/ Q8 [! \/ R" d* e
  919. 8 Q4 e) W+ I& [. ~+ Q* N

  920. ( z  I8 t% d# e0 F, Q

  921. ' z9 _- A: }& s6 k: j/ ?, y
复制代码

+ h6 E! w. Q! B% z& W4 p6 g' R- w5 [

本帖子中包含更多资源

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

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

签到天数: 2395 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!8 D6 Y2 H, X9 b! h4 o$ u5 f& ~5 D

签到天数: 2588 天

[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-1-13 15:02 , Processed in 1.125000 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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