EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序6 [! J0 Z$ J1 }3 T9 G( T& w5 B8 ]
  2. 作者:FlameCyclone
    . _+ ^+ Y; n, j. q7 X1 r
  3. 时间:2017.2.121 k& g0 \' x  v- @% s: X
  4. ' J, \( L* V; F% b. j, }& x
  5. 按键跳转:
    ! l) L9 _5 O$ e7 r; J' _1 [1 o6 T! K
  6.         C1EF:95 F5 94 F1
    % a1 V* T& X) c" o+ j
  7.         C1EF:20 70 FB EA6 j, O$ j: x+ j% z6 z
  8. % q- \% w4 ~1 v& r2 |. `
  9. 滚动偏移:
    & F8 D2 g9 n0 W* B7 u% w4 \
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20. w# B: \5 w3 V9 m; K5 m
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    4 B3 o3 I) G& \, P

  12. 5 E1 Z3 D& R% p% i0 S7 Y2 Y
  13. 背景调色板:
    ' Q% }- }' k3 b( O
  14.         CF20:9D C0 07
    ) I5 o/ z8 \4 ?4 J
  15.         CF20:20 A0 FB
    0 A$ w% L2 _( z. j

  16. ' ?% T. N1 `! K! j
  17. PPU BANK号:$ G. C* V* z# X9 y; \5 A4 e; |
  18.         C8C9:9D F4 07
    - C; F" N  |  Z; x( K, c7 ?4 i
  19.         C8C9:20 B0 FB! _. l# S& T# q6 j( C  f
  20. 8 B! ~2 I8 p) o
  21. 按键跳转:
    ! G" B( D$ {8 C1 ]  _4 w3 u+ p
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    ; L/ z( R5 e& ~  \
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20  I) g0 m2 A7 H0 }6 N% C
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF
    % K- e( M& Z9 R  _- M9 a* O

  25. 9 x; @* q5 F8 x& B
  26. 背景调色板:
    % U$ Q% b4 R  G* u; z* U4 r- T3 B
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF- A3 _* R* K' ~
  28. 2 c  |$ F" C& C  W  E  Z
  29. PPU BANK号:
    6 ~# A2 Y! @3 I1 w4 I8 u6 D
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF2 V. U( c8 d! v5 m: Z; Y
  31. 0 s) L0 j) }5 H' K
  32. 滚动偏移:
    7 n0 C2 f, s! y! k  l- A: T' f) j
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60$ k+ ?! t, _) u
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF3 k2 z& ?9 {- F8 ^1 w2 P

  35.   u* J: A' N: n7 x  t3 @1 Q; ?3 \

  36. ; B1 i4 q3 ~4 p& A) t3 H
  37. 切BANK后A000:
    / Z# s9 @! c$ D5 j" l
  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
    7 j- |$ y4 ^+ U0 M, W/ }$ h

  39. ( }3 b1 m! f1 N) \
  40. ( l; }0 ]5 @% N. _3 T
  41. 6502 simulator:9 `7 B* b% ~  d0 [% L* F
  42. PPU写入程序:5 `7 W: k( d1 T) z! q
  43. .ORG $A000
    " Z( `+ e3 K. Z7 G
  44. CSP = $808 a( j4 J& G1 m' r+ T8 j
  45. C0 = $81. B  s" ~$ W: j4 g' g
  46. C1 = $82
    3 |/ G0 A! U9 A! M
  47. C2 = $83
    7 [0 T: Z1 Z7 z# J) Q$ g
  48. C3 = $843 I  q1 s2 {+ ]% O) g' ?
  49. C4 = $85
    8 u0 q1 O2 U9 s9 v+ _7 N
  50. C5 = $86
    1 R8 v5 ^0 ~' {3 @3 q5 Q3 j/ g, o2 Y' H
  51. C6 = $877 z3 b/ }0 u; T0 s; H3 }' H
  52. C7 = $88" R% W( B1 v, A& M4 W# u
  53. C8 = $899 h/ o1 E2 u+ ~6 g) g2 O
  54. C9 = $8A( m6 d# p! Y3 \
  55. CA = $8B
    : O: g& N# \* L0 m' g: k1 T& }
  56. CB = $8C7 o7 ~! z  Y4 i/ y9 p$ `
  57. CC = $8D
    9 F, i) m' I5 U! G8 z
  58. CD = $8E1 U* k" h* t1 v: o6 C! V5 V
  59. CE = $8F
    0 W. b" I2 j+ n) ]
  60. CF = $90$ _+ d8 u: _5 v+ E
  61. CG = $910 c: r7 H: ]) |4 \. P
  62. CH = $92
    $ \& e" O- }! b: \( Y2 f
  63. CI = $93" u: e2 E4 h7 \- q
  64. CJ = $94% ~0 k4 S& t- Q$ i5 S% t9 S
  65. CK = $95/ f; W  c; t8 n% N5 W
  66. CL = $96
    . n, Y1 x3 U9 a' m5 |
  67. CM = $979 R& g7 H% W( l4 S
  68. CN = $98# V- v" v; e6 r. W  w
  69. CO = $99- h8 o$ a6 n2 |8 [: `, b) n+ Z; ?) S
  70. CP = $9A
    9 V& ^7 f$ \: q- D3 N0 `
  71. CQ = $9B: M( N+ I+ b8 ~3 V. ~
  72. CR = $9C
    + ]3 B, E2 m  Y1 S+ Z' z2 w  C
  73. CS = $9D/ A* w5 n4 V9 q
  74. CT = $9E
    8 L0 N+ J1 s7 e+ _3 N8 W
  75. CU = $9F
    - O9 q* H- w( {6 {5 b& W) I- H# z
  76. CV = $A0
    ; t1 F! R$ {; i( P6 e  z; B9 }3 O
  77. CW = $A1, H  M) j0 }! O5 e% \9 i
  78. CX = $A2$ ^$ h2 Y  @  k+ ^
  79. CY = $A32 d. [& o3 ?* p) D2 h
  80. CZ = $A4
    / n4 U/ H! b) [  D' `
  81. CEND = $FF
    ( d$ e" T4 ~5 B; I5 c

  82. 8 _+ I1 ^  x" {; G/ Z0 ~5 f
  83. 2 D9 W; W1 P- B9 e
  84. CMP_RE:
    ! M; F- P- u/ U" X# ?% A6 n
  85. LDA $FF6 E1 {- z* b( l; b* |/ m
  86. AND #$7F
    2 ]6 L, R' x8 f( U# T( h2 w4 n
  87. STA $2000
    ( s4 u3 u5 P- z! s
  88. LDA $2002
    " U4 X! B" \6 |% M! r  X) L0 t2 Z
  89. LDA $25
    ! ?. d1 }, ~( y& e/ P9 ~. a
  90. CMP #$01
    # N5 l2 h" {8 c; O
  91. BNE PROREG
    & L% k! R; X8 b- s
  92. LDA $F5,X0 ^% A& D* h) p% Y2 q0 ~
  93. AND #$CF% H7 j8 Q+ W2 ^" V7 j4 a- Z
  94. BEQ PROREG
      p) @" z$ U) @, K" W4 M2 f
  95. JSR PPU_CMP3 b1 [6 C2 W& g6 A& K0 P# z
  96. C_RE:) C# B* u. i1 o1 p
  97. RTS" K4 T+ d5 o0 B  S; t6 a4 r4 ^% C
  98. PROREG:
    ( e0 K- n4 V0 w! \0 [
  99. PHA3 M: z0 p! U! A& f
  100. TXA; n* q2 d1 e/ J# K9 \- t* m# g
  101. PHA; S/ `" T5 Z" ^' @
  102. TYA
    0 F- R+ e- y% F; C, k
  103. PHA
    : O- a  E! q  r: G1 g" d& Y
  104. LDA $25
    . K' n# Q; w2 `8 e
  105. CMP #$01
    2 f! N9 \1 ~+ j- z, {. T
  106. BNE RE
    ( M" ^4 z6 G" X$ l9 m0 d
  107. LDA $010A
    ! c  L7 W6 ~6 H
  108. CMP #$00/ B7 z7 ~1 U9 y* _$ D
  109. BEQ P1- j% y, d( C6 U9 g; N8 V* w2 m
  110. 2 H- r! r" P3 k+ k
  111. RE:
    " @# D) X. F( w  \! |8 C+ M
  112. JMP PPUWRITE
    ) p3 e, Q9 k- U1 M+ m0 I3 n

  113. 7 X) }3 B2 W' {" ]: g
  114. P1:                ; 条件判断% f' _3 R1 C5 x; G( M8 S
  115. LDA $7FFF3 Z0 J( j' t$ G. d. M: q
  116. CMP #$FF% t. x0 d. O2 o$ J$ \" x6 m
  117. BNE P1RP  M6 a" Z4 V+ p$ M' W
  118. LDA $7FA0* `! q7 f7 n/ h# r/ g+ u
  119. CMP #$00
    / N0 C( M" V' U, `1 Y3 o( ^
  120. BNE P1CMP$ p( }' h0 c+ \# E
  121. LDA #$FF
    1 w4 a  J3 @5 T1 ~' D6 Y8 k
  122. STA $7FA0) ~$ N  Z2 l, Z( d/ G2 m; l3 j) K
  123. JSR CLEANA5 p- G4 ?$ U) K4 x0 L2 n
  124. JMP PPUWRITE
    2 w0 v: s7 ]9 F2 }" t
  125. P1CMP:
    1 V0 i: S& \- ~* p# a: {
  126. LDA $7FFF
    8 Z5 q% d8 v- m0 |- G: h% o
  127. CMP #$00, [1 ]% T5 T3 v; `$ ^( L
  128. BNE RE4 ~: Y% D. T$ C) g9 u5 ~3 p
  129. P1RP:$ z9 v3 P2 b6 B0 x' G
  130. LDA $2002
    1 t. U" c2 h. y5 Z0 U
  131. LDA #$00
    ) I! t& U; {1 L  @+ l
  132. STA $2001
    6 r( ^+ d- c! H
  133. LDX #$00
    " q) ~3 e" U3 z( \
  134. LDA #$FF! l! @; A1 G" l8 O4 c
  135. STA $7FFF! L, p, `6 h! D6 H3 v. @' e
  136. STA $7FA0
    1 N; h3 g8 U' V" v6 q" h6 `0 _9 H
  137. JSR COPYPPU9 f' v* M! ^8 n% X) D) K) d5 h
  138. PIRP2:
    $ ^) l* k7 K- A6 g
  139. JSR CLEANA
    " [6 l, B, C. D* O& I. i! z
  140. JMP PPUWRITE3 D+ c6 d* l" J  j

  141. 9 ~. U, v" x, L/ m' T
  142. COPYPPU:
    ( {: y" I) e5 _8 w
  143. LDA $FE
      a, H: ]; ]( F9 d. \
  144. STA $7F50, {+ v& t( ~+ L& d
  145. LDA #$08
    : f3 {+ Q8 p7 s: G) G. l: ]
  146. STA $FE( a2 Q9 ^% N0 N5 N. E8 h# U
  147. L0:
    - j7 t! y7 Y$ z7 X0 U" o
  148. LDX #$00; f1 ?% p) h: u% A. o
  149. COPY_07C0_07DF:
    % K% z. @" ~0 r; d( b, F  b( p0 ?
  150. LDA $07C0,X
    9 \4 P6 l2 j# M0 \+ T
  151. STA $7F00,X
    0 C& q5 ~5 E/ f1 b' {7 s% T
  152. INX/ e6 l9 q( }7 J5 I& d
  153. CPX #$40* `7 \; K. h8 _  |
  154. BCC COPY_07C0_07DF/ \# B: f( v! N$ p7 M% C: U
  155. LDX #$00. o* M5 i1 t3 V1 j
  156. PPU_07F4_07F7:0 J8 L/ D- X, S: Y! c1 R( C
  157. LDA #$00
    4 p) n2 u, G- q9 N4 G" q! |( I; G
  158. STA $07F4,X
    $ W3 ~( ^' o# [/ G' |
  159. INX
    ( L  n  A* |5 [4 q% t3 a
  160. CPX #$04
    1 z% t7 W' j8 e3 J4 G% @, U7 a% ~
  161. BCC PPU_07F4_07F74 t! G" C4 m9 ?  k9 n
  162. LDX #$00
    + _, w; q/ ]% _' M6 w  g7 e9 F
  163. COLOR:& L+ M! i9 }' _& M- F
  164. LDA COLOR_DATA,X/ {! L; X0 b5 `' `3 I
  165. STA $07C0,X( z5 D2 W  Q) e0 V* ?' M4 _1 a
  166. INX! A! g# f9 o* N, T
  167. CPX #$102 H/ B# S! E" a3 l$ s- A
  168. BCC COLOR1 `4 ]: u% b  b, N$ f7 i. P; Z
  169. 6 U; r  P* p. f5 t0 L; n
  170. PPU_COLOR:7 k0 n' A! H. g! B
  171. LDA #$3F
    ! X; e9 ^" Q$ V
  172. STA $2006
    - a% L0 \" O9 t, A& V
  173. LDA #$00: T2 c4 e) k( Q$ R) N. ]
  174. STA $2006
    % W  n6 j0 [( z% c8 J
  175. LDX #$00
    ( A9 ^. j+ P; z6 A  A! r9 z
  176. PPU_COLOR_W:5 A5 ^! `) Q1 m
  177. LDA COLOR_DATA,X
    3 I+ U4 {5 P+ W* c1 I3 X' M
  178. STA $2007
    $ g, X8 a, S+ p4 W
  179. INX
    ' d9 R+ ~/ t4 x# ^+ {
  180. CPX #$107 a. l* T/ E0 m- u
  181. BCC PPU_COLOR_W
    ( }: `9 r$ m. B! C- D  d) l

  182. : l: J! x; f6 ]; M
  183. 0 {$ f* K+ ]6 B* m8 z7 w+ F
  184. LDX #$000 W! P) _, G) s% g
  185. LDY #$00' A) h4 k% T8 ]8 u
  186. LDA $BD
    1 F- h6 R0 q0 M' r3 s1 Q9 N
  187. PHA: K% e; i( {9 \# N6 [6 Z! B6 [
  188. LDA $BC
      W; J9 Y3 C/ U& }( ~) E2 a
  189. PHA% X! A; u  p! d- z
  190. LDA $BB7 M9 i% s$ o$ u" C$ @* K$ O- J  g
  191. PHA
    % s& o! n0 h; D7 k
  192. LDA $BA
    8 Z% @9 G. W2 O( n- @% ]
  193. PHA, L3 A+ O+ c; b- P9 e) m
  194. LDA $B9
    - z" k1 K% A! G$ x4 B+ I. T8 j
  195. PHA
      v8 Y) D7 ]6 Q7 e
  196. LDA $B8
    # U- j6 |9 c- \- d( p
  197. PHA/ s9 E7 [# v4 M; o
  198. LDA #$00
    1 W' F9 i1 u6 l+ ~4 w& \
  199. STA $B8- J3 n+ b3 p0 n/ K( @
  200. STA $B9
    7 h1 v; A) r4 \
  201. STA $BA
    % \7 n6 `2 ?2 F9 }* y
  202. STA $BB4 O! N& U1 d3 z2 ]' B
  203. STA $BC
      r& J  R% a5 W- t- l4 d5 e( C
  204. STA $BD# X$ A3 l5 Q6 o
  205. LDA #$00
    9 L: s# s- t. {, p
  206. STA $BA
    ; U- u& j- E) |: }# p6 K- R
  207. LDA #$20' F% Y$ V  ^- {( J8 u8 K' q
  208. STA $BB
    ( f* u/ \8 I7 z, v# m* i8 G
  209. LDA #$008 ?6 l7 @- m! ]% g) w
  210. STA $BC
    * H; k" g2 x. ~# L  k
  211. LDA #$60
    , y( v: o' t3 i: t
  212. STA $BD* J4 Z# ~* ]+ z9 V4 Y: S/ F% J

  213. 3 N* z/ \1 D6 H: p2 j
  214. L1:                ; PPU复制8 |. E" D; F; L8 s" U: t  `
  215. LDA $BB
    ( @/ P1 v( T% l& K% Y- [1 U
  216. CMP #$28; T. }! G( d( K( K% d& s% f
  217. BNE L2
    & K) T, \8 t) U) ]& N
  218. LDA $BA
    ; ?# L8 m0 o" h+ ?# T) l1 U2 S; v
  219. CMP #$00
    * k+ n2 @$ X* o+ B* K: X9 C; p3 a
  220. BEQ PROADPLA
    % J2 |$ I3 y( V/ X
  221. : f7 p8 o2 G3 S% l; n! S
  222. L2:; H2 V! }! I% B; k8 ]- L3 r$ y# s! q
  223. LDA $BB1 v9 H7 z" F$ ~2 U0 F
  224. STA $2006
    9 p6 ]6 G9 ^/ M1 o9 \
  225. LDA $BA& ^1 D& M' G( n; s/ g* Q2 f' x( p$ G
  226. STA $2006  u9 t3 W  B8 c

  227. % y$ U. [' B' [8 Q
  228. L3:9 t- Y; r& D5 J% H
  229. LDA $2007
    6 a( l- B/ r3 ?4 d
  230. LDA $20078 }9 J! _* b* \! w, [( Q. P9 R
  231. STA ($BC),Y$ n9 `+ H8 D- t/ {

  232. / s( q2 b; c" k  T/ T
  233. L4:
    ' Y* z2 _. v1 J) A
  234. LDA #$00
    , V+ W# X/ j. R
  235. STA $2000
    ! M  ^: h. K5 P4 |- w4 M
  236. INX: D# o: S2 I; c1 y+ ~
  237. INC $BA
    , F2 W* X1 i, U& ?$ k( p" p
  238. INC $BC
    2 X- c' T& N* w# U( |. K5 A) r
  239. CPX #$00* J+ y' N; ]  Z; ]
  240. BNE L1
    & b+ O1 v& {" z4 x
  241. INC $BB" Y3 I5 b7 O# ~5 A! i/ {
  242. INC $BD
    0 F- I$ O3 i$ X+ e1 t" r
  243. JMP L1
    0 E" R$ z- U  p6 b: l
  244. 8 i6 S1 b; t1 P6 J( z2 G
  245. PROADPLA:                ;出栈
    + h4 K$ P# b) \1 q: |  d
  246. PLA3 a$ C; Y: o7 U& G
  247. STA $B8
    , K9 Y* D& T  U( G8 K8 E
  248. PLA
    0 e4 |8 W; _2 M; J; a# D
  249. STA $B9
    3 T" B. y6 N- [$ E. O3 U( o
  250. PLA2 E' F7 c. p8 R- k% v
  251. STA $BA0 z$ l5 c+ A0 ]2 D: ~- n
  252. PLA6 E! [3 K6 e& T* p: r
  253. STA $BB6 b2 P' M: x7 \0 m
  254. PLA  f2 R( E1 |( N7 x; ]8 C
  255. STA $BC+ h0 _; E5 n/ b# E& O0 i" P+ t- _( `
  256. PLA
    4 b7 R! s  Z  C6 D3 X; R" D, p
  257. STA $BD* |3 X% P6 O3 M
  258. CPRE:
    / q  M2 p2 R: t1 i( K3 o6 Y5 }
  259. RTS
    / j( B  C4 Y3 R
  260. ! E: Y1 N( _- D) O# |7 H7 [
  261. CLEANA:                ; PPU清空
    # h8 l' s) S8 V
  262. LDA $BD
    . @$ p; F/ A4 |6 J. p
  263. PHA/ ~1 T$ f4 n* @+ a
  264. LDA $BC
      I# [! H& d5 P4 l% N$ f. }: S
  265. PHA" U2 k- H4 w* m: V2 ?8 e# F9 a
  266. LDA $BB8 }6 J0 F3 ^0 Y
  267. PHA
    8 r+ k! X% K4 t8 _  m0 ]5 l5 P
  268. LDA $BA9 b+ d( ~; O4 E8 F8 {* {# p
  269. PHA
    6 u/ _+ S- |* b/ i8 C, G
  270. LDA $B9
    , r8 k# [# D9 c5 H" O
  271. PHA+ _& R' Z$ f0 \! g& x5 V
  272. LDA $B8" X$ D1 n: C$ `: y/ V' a: H
  273. PHA
      e% r# ]3 O9 s9 Z) s& M7 W
  274. LDA #$00% [4 t( K. i# I$ S1 ]4 I" D
  275. STA $B8
    8 p( B# P4 `; z* {
  276. STA $B9
    % _- P. |3 y* M4 E6 B
  277. STA $BA
    + i# U* l/ y- a
  278. STA $BB
    4 Y) [- V0 d# V
  279. STA $BC. L# M, V8 p* [5 ~( D
  280. STA $BD
    : |5 T' d5 M( c" {9 K2 t
  281. STA $2001
    8 l' g# {+ E+ J
  282. LDX #$002 k+ |; I6 n; e9 Z% p% b% q
  283. LDY #$00
    1 r( [! y3 b8 Q  S4 d. o+ h/ Q- A
  284. LDA #$002 `3 J+ l0 g1 X3 _% l
  285. STA $BA8 F# d0 `; _0 v2 X
  286. LDA #$202 [, r$ R: e+ h! C/ Z, E2 I
  287. STA $BB# o  h# S4 o' U% i% K+ x
  288. + [3 c9 i" }2 W# X9 s# [
  289. CL1:
    # l( e4 z7 \; N0 D6 Y+ f
  290. LDA $BB) V1 d+ I& Y$ o. }, v
  291. CMP #$28
    ! _. {* G8 ^& W" l5 w8 o/ b
  292. BNE CL2# |8 H2 F" d+ h: C  X; x3 x: M4 S
  293. LDA $BA
    , M# F. |$ n+ F8 T7 O4 @
  294. CMP #$00: y- I0 t/ V- g1 j4 g" h3 Q, j
  295. BEQ FREEWRIYE' ]7 u& {6 Z0 F$ c3 q

  296. # g/ F6 A& f/ n. r: d- E$ o5 X
  297. CL2:
    7 _( j. W: d* h. i' y+ x
  298. LDA $BB
    , y0 r% z, w  l. f6 g
  299. STA $2006
    3 Y* q0 [* N# z
  300. LDA $BA
    & l1 G  k+ T' a! w+ s
  301. STA $2006; R0 C. d/ ^+ y* f

  302. ; e$ p6 G7 R# Q3 {6 I. q. f- u3 |
  303. CL3:9 M* D( E$ C4 M( K
  304. LDA #$00# U9 q: O4 u0 M
  305. STA $2007
    ! S3 A1 j; S  s7 N
  306. # W3 O2 O7 X9 P0 J* g7 m, t. S& v2 i
  307. CL4:
    + O9 i3 F; e+ `5 ]% V5 [
  308. LDA #$00* M# B6 j7 w3 G' F+ D/ ?0 M+ o
  309. STA $2000& X, u/ f) O5 `' C
  310. INX
    ( a2 t( S: O5 L" R! Y' ~
  311. INC $BA
    ! a$ f; K0 ?+ k* [) W5 H; t
  312. CPX #$00$ @+ X: F! `2 `( J( ^
  313. BNE CL1
    : R* Q7 v) m3 Q
  314. INC $BB
    . H8 L" G( r$ ^4 a
  315. JMP CL1 8 }% a  y: C  a3 ?9 Q
  316. % @6 J8 y1 K, i" G

  317. , J& o! c$ d2 q( F7 }! y
  318. FREEWRIYE:7 r% L7 C  u: A$ J* z0 l
  319.   D1 C% ]. u$ c# C& \& q' t
  320. NOP2 C" Y* o* J. Y9 F) ?
  321. " }4 C( `, d4 S' a# G

  322. 3 S9 O1 Z! b$ ?) ^

  323. 2 A  l7 x, y) X! I/ u7 e+ q# C

  324. : `/ z0 Z4 H" c

  325.   u& F/ K2 @- Y6 s, Y! B0 ~+ ~
  326. CLEANF:                ; 恢复现场
    5 q4 d# e' S) D% ~" P" X$ ~( J

  327. 5 G6 w# |/ {; ~
  328. PLA
    3 \. t2 A5 U6 u2 K! y% G9 j
  329. STA $B8
    $ |) z$ w- ^! g) W
  330. PLA: H7 B5 k" O! C$ o0 n
  331. STA $B9
    + X/ d1 F; j8 K+ z/ s
  332. PLA* E( ^7 m% X" T1 @7 Q' P( k
  333. STA $BA. C6 ~8 i" [: c9 }7 H3 z, f
  334. PLA
    , W$ T" V& ?5 V8 ~$ e6 L+ F
  335. STA $BB
    5 O) V/ N% z( o: Y% U+ h" Q( z6 w
  336. PLA
    ' U" f" q4 z# ~: U! o: N1 K8 U5 E
  337. STA $BC( q! R9 b1 l7 @4 s% L
  338. PLA
    6 I1 X; {8 j! r8 }- J) v: |' E
  339. STA $BD2 p2 z& Q4 j1 z  @( v1 d: b
  340. CLRF:
    % ^) m9 m4 @1 {& G! F0 A8 M
  341. JSR FREE_PPU! q2 E0 x1 c8 s/ }( o& r
  342. RTS2 ^2 i1 j  t) r* M& g
  343. 6 E4 O5 y& g0 `1 T# D* s
  344. . z/ R8 a0 s& I7 a+ ?
  345. PPUWRITE:    ;PPU写回% Y: Y( v! E5 J2 l2 _
  346. PLA# j/ _% _0 y7 |( M) e( |
  347. TAY! Y  |5 V# W8 }% F# L# ~& ^3 C
  348. PLA( ^9 X0 ^9 {# _) [$ F! B& F  r
  349. TAX( s8 t( r: v, d: L( l
  350. PLA: Q4 L! x& U1 d' W8 K* W
  351. LDA $25
    8 A8 n/ b+ B8 B; n* c
  352. CMP #$00( h9 L/ J' E5 X
  353. BEQ WP1
    2 n: {/ d! s0 K' p$ ~% U7 k
  354. LDA $25: ?7 N3 x8 d% f. n4 x
  355. CMP #$010 C  t- y. |& s. ~7 r) Z- W' w+ |
  356. BNE WRE7 a& C0 |1 {2 V, P
  357. LDA $F5,X- G# R% y5 M  I
  358. AND #$EF
    . d# j) [8 h: B% }. q( ~, W
  359. BEQ WRE# [8 f% H" u  P1 p
  360. LDA #$00
    * j% W7 m& Z2 _# C) D  K  U( e  Q
  361. STA $7FA0' y' S( _& l2 F
  362. - a4 K! A4 A8 @8 R/ {
  363. WRE:  Z- I, x9 H( F* H* {2 ~
  364. RTS5 {! H$ Y$ ?% k# t, R6 P. I

  365. $ H+ R+ F7 V/ @! Z" ^
  366. WP1:) ~# _) m  @+ Z0 R
  367. LDA $7FFF: h& I( Y  C/ f: ?* \
  368. CMP #$FF$ @: Y2 W8 X+ s
  369. BNE WRE( l2 e2 h8 C2 K* F
  370. LDA #$00" `1 M4 J# F3 e* q$ \  r  Y6 g
  371. STA $2001
    $ Z5 i% ]: ^3 i* U; A
  372. LDA $BD* V) [% N4 H  J- N2 L% l
  373. PHA/ @# x8 X3 n8 d  \7 T) O
  374. LDA $BC1 Z9 S! N  W& r" D
  375. PHA
    * R# q% v3 e% {4 V" q
  376. LDA $BB
    8 ?/ h% E. h8 ?$ w
  377. PHA: G4 r2 n8 V0 |5 D% F& a/ i# Q  j
  378. LDA $BA5 B+ A' ]# Q# k3 l; |
  379. PHA
    0 }& S6 n1 f  U) U9 s1 |% g
  380. LDA $B9
    , B1 ], G! Q. K1 [# `( k1 T
  381. PHA$ E( F$ q" }. H( a9 B* R
  382. LDA $B8
    : b: G4 z$ D! I' L
  383. PHA. Y# d8 ~4 f0 L
  384. LDA #$00
    - }6 j- L9 E/ C8 \8 K5 V0 y6 f
  385. STA $B8
    3 g0 C/ [; Q4 T) i0 o" m: y
  386. STA $B9
    8 R& e1 @1 N+ N4 y- }7 J: K
  387. STA $BA- `2 L+ l7 p; P' _
  388. STA $BB. @! h# S2 ]! j1 V
  389. STA $BC# Q' S) }  ^: L' D% G
  390. STA $BD
    ) ?# I' Z+ K+ t& C  e6 \& Z4 `
  391. LDA #$00- c0 M  t# J7 g8 a$ V, q2 _
  392. STA $7FFF
    + `, o+ ^1 ~) W) {; G; X$ n+ J

  393. * c5 `" `: F4 S2 m$ J
  394. WL0:8 m8 M4 }; z2 h8 c; [
  395. LDX #$00
    * ~  d. L* ?4 k4 Q
  396. LDY #$00
    - U" N3 {0 M* f) W% o( J8 _: S
  397. LDA #$00
    $ P& l' d' S. D
  398. STA $BA
    8 l4 j# l6 x% A$ w1 ]
  399. LDA #$20
    * I) `/ Q9 R6 j0 K3 D. y
  400. STA $BB0 B4 X5 ?' z+ K3 Z$ S* D* i) i
  401. LDA #$00
    0 R- x; @1 w  e
  402. STA $BC
    ( l" s7 `) ^- ^3 }: T! I* ?. v
  403. LDA #$60
    4 r& n) _# Z9 D% o, G
  404. STA $BD
    . N( o% E6 a* q
  405. . V% f& \6 ^$ D/ J
  406. WL1:
    ! r2 [9 f; e! E; D( q$ f
  407. LDA $BD9 r1 c$ G: q! x0 q- l5 t7 o
  408. CMP #$68
    ) ~; f. }7 o% Y  q
  409. BNE WL2( A9 L" B) h; ~: ?
  410. LDA $BC0 h& c0 k" ^3 [! A
  411. CMP #$002 v; K, [+ U& a' }1 x5 ?1 {
  412. BEQ WLR. B+ x9 I) R% p/ Y! ]( Y9 w

  413. . G' m- l$ g+ q' Z- x
  414. WL2:+ t* h' C. l8 D3 u4 @( k
  415. LDA $BD# W  B' H) m7 j4 p
  416. STA $2006
    $ O2 C3 t8 t+ d
  417. LDA $BC$ i- \# d. Z: e3 q
  418. STA $2006  ~! A5 Y; S  u. V1 H' l

  419. ; a1 ~6 x5 O' o: M
  420. WL3:
    $ j; e+ O. N% P- i' [
  421. LDA ($BC),Y, Z* }: ]. ~& H/ S
  422. STA $2007' y/ K; d/ @- r9 s8 C6 ]
  423. : M: i& I7 M& M+ B( C
  424. WL4:. Y! ^, N8 Y3 ~6 m6 i9 h9 w
  425. LDA #$00
    : `/ L! k5 x  N% I
  426. STA $20004 t; G" d) x; D" k
  427. INX
    ( c$ g- {7 j* \% {% g2 f1 K# g- b2 w
  428. INC $BA/ i! Q" ^4 ~% D
  429. INC $BC
    ( F) P' q4 R( x$ G/ R8 B* ^! ^
  430. CPX #$00
    ) k* N! s7 K9 R' A5 K8 @
  431. BNE WL17 ~9 T! v$ Z$ O& g; A. {1 q; e7 K+ C
  432. INC $BB
    ! I/ D" E/ q- F6 A5 o  V
  433. INC $BD) \( i8 o" S4 l" E$ v2 H' Q3 G# k
  434. JMP WL1  F! A1 N5 N7 q) o

  435. ( r* S$ ?. z: e" K6 l
  436. WLR:4 ~( G; _, ]0 J5 W* [$ N- S
  437. LDX #$00( K/ P, V9 |! J6 t0 m$ p% U
  438. COPY_7F00_7F3F:
    ! ?# X; B6 Y: ]0 ]5 K; j  g- o
  439. LDA $7F00,X
    ! c7 i' T% D+ C7 o/ o6 v. W
  440. STA $07C0,X* t; z, N7 K' N
  441. INX
    * F' \. w5 @% n
  442. CPX #$40: g/ D2 [8 u( b
  443. BCC COPY_7F00_7F3F
    ! }3 R1 E/ r- a4 m8 D

  444. ; r# ~4 U# G5 I/ d1 _
  445. LDX #$00
    $ p/ D( ~) y; j
  446. LDA #$3F3 m+ F8 l+ v7 Z, ]( W
  447. STA $2006- A# z7 C5 b4 i. S: ?. t) h2 f& \
  448. LDA #$00; o: B- q- H% D
  449. STA $20068 ]; D% W6 h! Y$ H/ X! p7 B9 A; [1 E% [
  450. COPY_7F00_7F10:
    7 [. @! _; O' n
  451. LDA $7C0,X
    1 L( }5 ^  l4 k+ Z( x! o* C3 X$ B
  452. STA $2007" z  d6 d) o6 X' b8 m
  453. INX& E1 h$ ?7 l6 z7 L
  454. CPX #$10
    6 r" w. k/ @: u
  455. BCC COPY_7F00_7F10
    * i9 r8 ?) }5 L9 Y) l

  456. , T2 \: V0 _3 q  h& ]7 d9 a7 Y
  457. LDA $2002- E6 d4 o& s9 m% L
  458. LDA $FD
    % ~8 S  e! F* l" ]1 ]6 {/ N; P
  459. STA $2005
    3 q, g+ W7 B( l8 O% r
  460. LDA $FC- n5 h5 s6 p% _8 A
  461. STA $2005
    ( P' Y, [* F3 y7 U) O7 w& O% b
  462. 7 |2 d6 R" I* g8 T
  463. LDA $7F50
    1 h* T: O& N; O
  464. STA $FE
    5 i2 S* l; ?7 l1 r. i
  465. LDA #$005 ~/ k9 ~: y0 `
  466. STA $2000, h8 ?! b- l" W+ T- H  i' |/ x1 N
  467. PLA
    ) w6 |: H. W- Y% V
  468. STA $B8
    $ m' {& v& E9 z. i& j
  469. PLA2 d. ]% F) o& _; L# D% [3 j
  470. STA $B9% G- O0 W4 v/ P  ?  u2 ?& Z
  471. PLA; w0 T3 z" Y! v# `9 W$ p$ P+ e
  472. STA $BA8 o/ O: x  Z, g! x, ^: w
  473. PLA  E; L: z1 o. a. D8 Y( W  x; M
  474. STA $BB
    # _, i/ g* D7 |- Z% y6 Z
  475. PLA
    8 a8 t. C' b) G8 {$ b
  476. STA $BC
    3 J  l; y# j- f& M0 A
  477. PLA, ^0 e) S& T' B( T
  478. STA $BD
    8 j4 J8 |) I, u" o

  479. 0 d: u$ g' F5 @9 Z  T; o7 z4 {/ E! p
  480. RTS- v! S8 ^" @3 R* R" a  d+ G' \2 E' E  _

  481. ! t' I  L) j; H( Z) t5 o  ~4 f( K4 N! W
  482. PPU_CMP:6 R" R; P2 u! E  M) @
  483. 4 B4 M: a4 K; x7 s! Q9 A* ~

  484. ) i- [% a7 L/ O
  485. PPURE:: D- O1 t# {, H* K" u  s0 Q
  486. RTS5 f0 z- f7 n% L* ^+ Q2 o

  487. 9 Y9 B2 o5 k& q* v+ O* s: h

  488.   a4 P+ m8 F7 j4 r2 v3 ]
  489. FREE_PPU:* d+ |& I7 x/ h3 M
  490. 1 o) {+ W  u# Z" C
  491. JSR TEXT01_PPU& }- k8 H) [9 P# B8 b; A  ^3 N! s) ]
  492. JSR $CBC0
    " Q, P2 d2 ]  O& I
  493. JSR P1_PPU) q4 f% g8 |9 a
  494. JSR P2_PPU
    ; A0 ]$ L* P* U7 Y  l
  495. RTS% t( ]+ n2 h' h: O' c8 M2 C8 N

  496. 4 a8 z$ R, [) z$ Q) j
  497. TEXT01_ADDR:) F2 q7 W3 T/ x; {
  498. .BYTE $20,$420 K0 F* W4 i3 _4 [
  499. TEXT01_DATA:" N. X- i" x% M8 k1 Y( 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,CEND
    7 i% z+ _4 Q! M) y1 z
  501. TEXT01_PPU& s9 w1 I% ?8 p. D: r9 J2 f
  502. LDX #$003 S" Q  e+ `) Z
  503. LDA TEXT01_ADDR
    8 _$ v3 K; s+ b. N4 j  L
  504. STA $0703  j4 T7 U/ R5 O
  505. INX
    1 C$ j5 a  {7 ^  e2 G# n
  506. LDA TEXT01_ADDR,X7 M. k1 f1 A( k- m
  507. STA $0704$ H/ j$ W& K! [# w, k& K; _
  508. JSR PPU_PROCESS5 X9 I- }4 k7 K4 a& f2 ~
  509. TEXT01_W:
    . K" }+ U( f- N2 o& t
  510. LDA TEXT01_DATA,X
    * D0 j& I4 O; `- h3 Z& Q* n3 E
  511. CMP #CEND
    & @. c7 {: q- Z6 G
  512. BEQ TEXT01_START6 j6 a2 U1 h% p5 }4 u! p
  513. STA $0705,X" G  i9 ]8 G( P0 t$ v0 V! n
  514. INX* n7 U. O% p  n7 J( X( P) u
  515. LDA #$00
    : Q2 p! T3 V, \. v8 f* X
  516. BEQ TEXT01_W0 o4 U% v" H  q: T* d
  517. TEXT01_START:! q% l* N' ]2 W
  518. JSR PPU_START
    " d  J+ D( ?' @4 M  J) S
  519. RTS( }: N4 y; w2 z" o6 G) [
  520. 0 A, v" n3 w- W$ _( A# n) i) K& t

  521. 1 `2 O, A7 a: b3 Q
  522. COLOR_DATA:& F4 y. u  `& j% \
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    - `0 x1 ?! s+ {/ A. }' s
  524. ; D5 d# s7 a( l* F# ]
  525. P1_PPU:
    - k2 [3 o" }9 y$ D1 z
  526. JSR PLAYER_01_PPU
    7 D' E: {  I: l5 g& a$ T, t! T' q
  527. JSR $CBC0
    1 k# v! f2 x3 z3 w" A9 U3 E$ L- x
  528. JSR RELIFE_P1_PPU' G! R  n; h) v6 j3 D
  529. JSR $CBC0* R) E# M6 w. I0 x% b7 ]
  530. JSR RELIFE_NUMBER_P1_PPU
    8 a$ K9 S: d# A* M+ U" C, U/ B$ z7 M
  531. JSR $CBC0. s- B! }- [. i/ M/ |7 R7 t
  532. JSR WEAPON_P1_PPU- Q3 H+ }' q5 m3 L
  533. JSR $CBC07 s0 `& x1 p$ G8 P8 e* D) w
  534. JSR BULLETPPU_P1_PPU* a3 s$ @- Y5 a7 T& l
  535. JSR $CBC0! P* T" k& N1 x) L0 q1 \
  536. RTS
    - R, i; _# v. N- a" w2 o5 u$ ~% U
  537. $ E  X" Y2 ?9 a4 L* P
  538. P2_PPU:
    0 ]; i$ A: P5 O1 B# z& K
  539. JSR PLAYER_02_PPU
      e. E3 Q' S6 X9 B
  540. JSR $CBC0
    " O6 T' h( m& J- s/ x. t/ G
  541. JSR RELIFE_P2_PPU* i- p  d- e% e: B+ M/ ~
  542. JSR $CBC0
    ) G9 n* T6 d% z" H
  543. JSR RELIFE_NUMBER_P2_PPU! c4 [* A3 s/ \) u& K% c
  544. JSR $CBC0
    ' d6 X3 c3 R; U5 j  [9 D; B
  545. JSR WEAPON_P2_PPU
    0 {; h+ o  t9 x. u* A
  546. JSR $CBC0( Y9 c/ W9 U" E9 d% ^0 E0 l
  547. JSR BULLETPPU_P2_PPU
      e# h8 s5 f1 |, f
  548. JSR $CBC0, h( j+ G9 n9 x( U6 P! }) |2 x  _2 e
  549. RTS
    # R5 m# ~' l2 b: C. Z5 z# j
  550. + U7 t" }; ]7 x
  551. 9 h0 P' l. o. l2 R" G1 ^8 ^2 h

  552. # K& R  R3 l/ \. l3 ?+ {# ?
  553. PLAYER_01_ADDR:# ]) f3 v. Z  X5 \8 c! g4 x/ M( @
  554. .BYTE $20,$A3
    $ P1 a3 _: L, r3 @8 d# U8 F
  555. PLAYER_01_DATA:6 j2 Z$ P3 K+ L8 q! N2 g
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND* V" @+ `4 [$ s2 k  I7 Q
  557. PLAYER_01_PPU:
    7 @% |2 ?1 P* r0 @2 t+ G% K; {
  558. LDX #$00
    7 p9 G8 y. K5 V& [
  559. LDA PLAYER_01_ADDR
    % z6 m" V  e+ }
  560. STA $0703
    & t" X( Z4 ^1 s2 D
  561. INX
    9 {# ^5 o; S' B) T4 z& b+ A( }
  562. LDA PLAYER_01_ADDR,X
    ; n$ W! }1 P5 ~" e! |! o
  563. STA $07043 C9 ~7 `. c; K6 D- X
  564. JSR PPU_PROCESS0 k  G) D* Z, T2 J7 e( R3 m
  565. PLAYER_01_W:
    " {+ t0 A; Y! e
  566. LDA PLAYER_01_DATA,X
    ) C9 Q* t5 M6 A+ c
  567. CMP #CEND7 i1 Z" \% Z1 t
  568. BEQ PLAYER_01_START
    3 q3 Y0 i  [, V  ^! U3 Y
  569. STA $0705,X( p4 l* i: B( z2 |/ j
  570. INX
    ! z' G6 h/ s0 s9 o
  571. LDA #$00
    * O) P, z% E5 B/ O
  572. BEQ PLAYER_01_W# o' n# a2 Z6 Q* H
  573. PLAYER_01_START:
    ( N$ A/ [! y; L5 l( y0 }( o
  574. JSR PPU_START
    " R0 x& B- j  t: Z  G( x% A
  575. RTS
      e' Y: j2 d4 |
  576. ) m: A# l5 O6 Y3 C% E( P

  577. 7 F- U5 ?& D+ }- H. B9 ~
  578. RELIFE_P1_ADDR:
    ( N) z" c0 D7 E+ O/ f' D
  579. .BYTE $20,$E3  V% T) D) T3 E) @, e
  580. RELIFE_P1_DATA:# E; e! m, ]( S' F9 n) K7 W- d
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND
    : G& m7 R3 ]# l% G! v; O
  582. RELIFE_P1_PPU:
    * N4 {: ~) T& M  t( I
  583. LDX #$009 ^1 r$ z2 _0 B& E! N9 v3 ~, }4 _
  584. LDA RELIFE_P1_ADDR
    ! o* I6 y% @9 a
  585. STA $07030 Y9 j( c3 T' U, w- [$ w
  586. INX! O3 v# x1 P/ R5 M' W2 [
  587. LDA RELIFE_P1_ADDR,X
    * Q0 l+ o+ P( p& N' p, \9 c* D
  588. STA $0704
    ' m% d9 c8 O+ Y, i: r: F
  589. JSR PPU_PROCESS) h" B8 M4 m4 y
  590. RELIFE_P1_W:
    4 {; \6 j- @: K5 V
  591. LDA RELIFE_P1_DATA,X
    8 w& F9 l" w  g/ E
  592. CMP #CEND& }: u+ v* G, h' P
  593. BEQ RELIFE_P1_START
    # V/ |( ?9 C$ [2 C; z3 S
  594. STA $0705,X; A1 s/ F2 \9 `7 d9 f
  595. INX
    1 X) t8 x# J; u* `' H( s+ ~; O0 ]
  596. LDA #$00
    " O) Z& x4 W' t4 |6 C
  597. BEQ RELIFE_P1_W
    0 W" L9 v- x1 N% Z! B1 m: |* U: g/ u
  598. RELIFE_P1_START:
    9 U' t8 h0 m/ f) u; f( I$ \
  599. JSR PPU_START. a! P, A& \- M
  600. RTS
    + {, `- w# Z8 @; K/ ^
  601. ' Q% U* P( v$ E& E' }

  602. 1 j8 C. f1 s! O' ?+ o
  603. RELIFE_NUMBER_P1_ADDR:. e1 e5 L! y% A) B3 x
  604. .BYTE $20,$EA
    / }. o+ M+ ~1 I
  605. RELIFE_NUMBER_P1_PPU:# ~3 f$ w4 e# ^3 o4 U! z3 S
  606. LDX #$00
    1 M. w7 @: i/ i3 z0 A
  607. LDA RELIFE_NUMBER_P1_ADDR
    3 r0 j# V- p! O8 r/ z
  608. STA $0703
    , o, }5 |4 n  b
  609. INX6 ]' ~2 a. M0 s  @$ W6 A. e! n$ Y4 h' ~
  610. LDA RELIFE_NUMBER_P1_ADDR,X
    2 s# B: r3 F: _% e! D
  611. STA $0704
    2 |0 M! ?- o* l) N
  612. JSR PPU_PROCESS8 ~8 h! W9 i( o: z; {- p
  613. LDA $32! t3 y( ?  n- n, ~% h
  614. JSR LIFETODEC
    3 Y& a6 q1 X" V5 L$ O
  615. RELIFE_NUMBER_P1_W:+ E2 v& T# j' I$ O! {$ v- u
  616. LDA $7A03# r1 f5 i& K( i# d* R
  617. STA $0705& s7 k1 A7 j$ O
  618. INC $0705
    # ]. c4 {5 g0 @4 J# v' S
  619. LDA $7A046 \- \* j2 |6 U" C  W
  620. STA $0706' x8 u: X- w, H  U5 Y! i3 R
  621. INC $0706
    % R+ E% c9 G  Z" M" [2 _, e5 C
  622. LDA $7A05& h$ D" r) I" t
  623. STA $0707
    ' ]! e; k/ }2 y& j; ~
  624. INC $0707; P' O9 ?) [6 x, O" L8 O
  625. LDX #$03
    % P4 T5 l! g" j' n5 ]0 ~# B2 b7 O
  626. RELIFE_NUMBER_P1_START:
    % ]  y  P  }+ X& c$ o) z
  627. JSR PPU_START" S. g7 y, q' {
  628. RTS
    - k3 t& J/ l1 k+ X- N3 n3 l
  629. 6 v. F7 x; q  y( C% }6 t6 Q  y! [0 [
  630. WEAPON_P1_ADDR:
    9 {2 \$ `) ?9 I$ q6 l
  631. .BYTE $21,$23
    , F2 F; i# _( c& c0 n2 p2 |6 n" Z$ z
  632. WEAPON_P1_DATA:( g0 N/ t2 l, V
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND
    ' q& u6 ]+ H: u3 j/ b5 v' R
  634. WEAPON_P1_PPU:
    4 d* S" G4 d# i5 {2 y; v1 H
  635. LDX #$00# o" y- c# u7 A  e
  636. LDA WEAPON_P1_ADDR5 Y+ ~' x& `( Q7 W1 U9 o7 I
  637. STA $0703& b2 F: ?. q5 o: |* }
  638. INX' X. l' ?& r8 A2 h7 S8 W
  639. LDA WEAPON_P1_ADDR,X, q7 h5 s& U) |# K, t+ O# [
  640. STA $07048 K' z/ ]+ X% B  W) n( ]
  641. JSR PPU_PROCESS/ X3 f2 y4 P/ N! B; g
  642. WEAPON_P1_W:/ P, ]2 u. a5 P6 Z& P7 w, }
  643. LDA WEAPON_P1_DATA,X4 S) `/ @8 k; O0 M! i
  644. CMP #CEND& B- s& F  K$ `3 a! g* \. A
  645. BEQ WEAPON_P1_START
    : P+ _/ u8 d5 l1 u; @% z
  646. STA $0705,X
    2 @) L: d$ T) H9 K6 o+ O3 U
  647. INX2 u) k* d+ j: O+ }5 k
  648. LDA #$00
    ! S$ i3 s8 a( o0 C) v! y
  649. BEQ WEAPON_P1_W  o/ \5 {/ `' S+ O1 s: d* j
  650. WEAPON_P1_START:
    5 W3 X3 \8 n# e1 ~4 l
  651. JSR PPU_START$ D" N5 O3 _$ L' @
  652. RTS. A6 m: ~& T: m
  653. 8 }. E$ ^( A- @5 Z/ \% C- K
  654. BULLET_P1_ADDR:
    5 N$ `! e. F" w3 o! k# j! [
  655. .BYTE $21,$2A0 D6 p. G+ z2 I5 G* k, K) i
  656. BULLET_P1_DATA:
    # L# R, y3 S7 s# n, C
  657. .BYTE $00,$01,$02,$03,$04. ?; t% x0 @2 f
  658. BULLET_P1_NAME:
    , c7 l. K, y8 E. U7 ~. A
  659. .BYTE CN,CM,CF,CS,CL% {+ I2 H4 [; T* C9 C5 r5 T, S. b

  660. % b: d! D7 k6 }# j
  661. BULLETPPU_P1_PPU:
    ( |% r7 G2 C$ |
  662. LDX #$00
    3 o  _' E4 `* r/ u* S7 Y
  663. LDA BULLET_P1_ADDR
    - F3 J/ q0 a1 E2 Q- m$ s- k
  664. STA $0703- C" W9 x. P& y& J& ^
  665. INX1 P2 n# ?7 n. c0 B& n+ m: P: K
  666. LDA BULLET_P1_ADDR,X4 P: D4 j% |" ^- \+ m  ?8 Y5 x
  667. STA $0704
    ) x2 T) o, b% [( Q- B
  668. JSR PPU_PROCESS9 W( e# C4 V  ~, g1 Z! D  L
  669. BULLET_P1_WRITE:7 v+ Y# {! k9 v" J
  670. LDX #$00
    9 E8 L0 C9 Z6 |* d: `
  671. LDA $AA
    3 K% N8 h- y5 l9 ]1 A
  672. AND #$104 J( v3 u! S& V: N' }- a5 [: h
  673. BEQ C_BULLET_P1
    ! n9 r+ A6 _, ]5 T1 N
  674. LDA #CS7 W& X( O4 F6 j2 L" p" O6 r) _+ T# g
  675. STA $0705
      Z- ^' `7 o$ C
  676. BNE B_NAME_P15 R; Q9 p  e' y) T$ ?9 D7 y- _. J: U" B
  677. C_BULLET_P1:1 q( h; j6 Y% |/ U
  678. LDA #CC
    2 E8 j. r! p( a! c6 K8 r% x9 V3 F
  679. STA $0705- l- \% ?9 G) T. k6 E, ^% U  F( A  |
  680. B_NAME_P1:, U% c8 d/ I1 v/ o4 T. w6 O
  681. LDA $AA
    - D5 F- G  |( j( C4 _
  682. AND #$0F
    / g  z# k7 @) I
  683. CMP BULLET_P1_DATA,X
    . x- H- e' b6 B3 I6 f
  684. BNE B_NAME_P1_RECMP: T7 B# ]& p& {& ^( f# d1 r# Y1 G
  685. LDA BULLET_P1_NAME,X
    $ s" u* Z. ]  O. ?  Z+ d' \* c
  686. STA $0706& h/ ~& H* x2 v
  687. B_NAME_P1_RECMP7 {$ R$ S6 \% o% }$ U8 T
  688. INX
    * l9 G* n# q. E8 f
  689. CPX #$05  r* F4 e0 B; Q9 G8 \7 A# f  w
  690. BCC B_NAME_P1( q$ a% v9 O* C
  691. LDX #$02
    $ p, ?' d6 K0 }4 g
  692. JSR PPU_START
    4 U% R4 `. H3 Z8 Z0 p, q* i
  693. RTS
    & S0 ]9 C! n0 J7 X6 U' L

  694. 0 |3 D4 N: _9 J8 s+ l

  695. 7 i& E0 G; D) U# U. d' A, J* o  ?
  696. PLAYER_02_ADDR:
    & _0 E1 E* h. H0 v
  697. .BYTE $20,$B3
    * q3 C# j, m* j! N. S+ i
  698. PLAYER_02_DATA:
    . S( u" K% ^, c) W% R/ P$ o
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    8 H# v5 E2 @( J1 t7 e5 e
  700. PLAYER_02_PPU:
    5 Q7 w# G/ P# h
  701. LDX #$00
    " |. L0 I: e* |4 N& w& i, r
  702. LDA PLAYER_02_ADDR
    3 @% p" q' w3 Z( \4 _
  703. STA $07035 o0 `& L1 M2 t5 G: \, `) [: @
  704. INX
    ) \- l/ Q! d/ F; ]  L# x% ^/ q
  705. LDA PLAYER_02_ADDR,X
    ( p8 D9 A& ~( A- X! e- @
  706. STA $07044 r* l" b! q# @; U" t0 l$ I
  707. JSR PPU_PROCESS7 N1 m) V' U6 z* E0 m: Z  `7 w" o
  708. PLAYER_02_W:3 l. N, h* U4 ]' {1 \- x3 H5 g
  709. LDA PLAYER_02_DATA,X
    # _& `" Q& v* H6 |
  710. CMP #CEND2 o0 r8 Z9 i7 s* J: p! p
  711. BEQ PLAYER_02_START
    3 k, C0 m* l3 y4 x, `, _
  712. STA $0705,X$ _6 P/ y. H; \9 N
  713. INX" B: U7 p6 ~  k( Y3 ]& e! U1 A3 V6 f3 a4 B
  714. LDA #$00* O, a8 |8 j/ k  P
  715. BEQ PLAYER_02_W/ B% j/ L/ n$ Y; ?: Y8 B  e* K
  716. PLAYER_02_START:
    2 i" Y0 q! Y' T* n
  717. JSR PPU_START5 }- J! w. O0 f6 z1 H7 W3 ?( I% i
  718. RTS6 E6 {) d8 T% O* Z
  719. % H, u* I& Y/ i
  720. 4 Q2 v/ a, }& }. r6 d
  721. RELIFE_P2_ADDR:
    0 _6 B8 c* o) O- e( s- k; }, \
  722. .BYTE $20,$F3
    5 G( x" O) |( q" g! \
  723. RELIFE_P2_DATA:
    , G0 H! B; M4 \6 q! }
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND9 b+ Q1 F! q, I8 q; H" c3 _
  725. RELIFE_P2_PPU:
    ) w: p9 f2 [3 i, P, `; f" `
  726. LDX #$00
    ) q; |6 |+ P2 M% h6 v
  727. LDA RELIFE_P2_ADDR
    5 @" z* g- c6 N
  728. STA $0703
    / u5 w: |) N6 C2 d
  729. INX! r8 Y9 c% C; H  T. |# v' ^/ {
  730. LDA RELIFE_P2_ADDR,X
    5 f7 z! J$ @( T" E, p! M
  731. STA $07048 w6 I3 R, R3 {9 Y/ b, f. A
  732. JSR PPU_PROCESS5 e0 L! S& g" d) y
  733. RELIFE_P2_W:) l/ h7 m0 ~' O3 X4 H
  734. LDA RELIFE_P2_DATA,X
    ! m: \, y9 l) h% n8 n" M1 ]& P& J* x: V
  735. CMP #CEND
    , l! Q% Z% S% ~' p# p$ l! I2 J# C
  736. BEQ RELIFE_P2_START
    , k  y! I! H, v) d: j, K# n& P
  737. STA $0705,X
    # G$ `* _4 S& G
  738. INX
    8 X; {, G, o, R' |& r" l; K/ ?( x
  739. LDA #$009 R7 `* V# K0 e! ]4 K
  740. BEQ RELIFE_P2_W0 ]+ E8 ]1 v, i) G0 g
  741. RELIFE_P2_START:
    ( m! u+ Y: g( r
  742. JSR PPU_START/ M) l( |) ~' w, m
  743. RTS* k) F! l; ~- c; p1 p" P- e
  744. * E5 S3 ?8 J$ W3 m
  745. : O+ m- R4 S+ R( K
  746. RELIFE_NUMBER_P2_ADDR:0 M: C" J/ y+ g% Y& i. S
  747. .BYTE $20,$FA
    $ O4 L# c% N7 [( F
  748. RELIFE_NUMBER_P2_PPU:5 ?$ Y8 Y# @1 D7 W
  749. LDX #$00
    ; P" z$ N% L: p* T
  750. LDA RELIFE_NUMBER_P2_ADDR: A8 }! Y4 n  I8 B8 E
  751. STA $0703
    5 m5 C! D5 j2 G1 P; v' T# M
  752. INX
    6 X$ C. ?; M/ y) T* j
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    9 z$ ?- J" }' `+ ?2 B8 S
  754. STA $0704, s9 y1 z1 P5 v) R% K7 [
  755. JSR PPU_PROCESS1 T1 A7 F/ {7 g/ H
  756. LDA $33
    3 X7 |6 d- i1 Z3 }8 {1 X
  757. JSR LIFETODEC
    * n& W) p6 J) I! d* |
  758. RELIFE_NUMBER_P2_W:
    , |6 v7 @% A' K8 D
  759. LDA $7A03+ v' r9 T$ O! v/ j* g* D
  760. STA $0705
    . l$ v! J2 v7 p- Q% {$ Y
  761. INC $0705
    : x' c- t4 c( O
  762. LDA $7A04/ i! w3 F& E3 O$ {
  763. STA $0706
    5 j* Y7 y: I$ l  j
  764. INC $0706" w( D/ f5 [, e$ X2 T6 z7 \* A) ]8 V
  765. LDA $7A05& v: @8 i/ C0 D6 z' M
  766. STA $0707
    " t3 n# U0 P) N5 b' t
  767. INC $07078 ^9 i4 p" f; P3 p  ]
  768. LDX #$034 i; K; y5 |2 V7 `9 o; V
  769. RELIFE_NUMBER_P2_START:9 g4 |* {. l4 ?, a+ n
  770. JSR PPU_START+ m% o. v; J7 G3 g9 }, Z
  771. RTS& w" J7 E% A3 h% Z

  772. ; _" D" b1 {9 e7 y, U
  773. WEAPON_P2_ADDR:
    # ?  Q8 Q1 @% O; T6 T9 q5 e
  774. .BYTE $21,$338 R& o. j7 d* f% D  y
  775. WEAPON_P2_DATA:
    $ _. M; |' G- Y+ z$ U6 g
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND
    % @5 ]6 u" {/ I+ n/ ~. d4 \1 l8 }
  777. WEAPON_P2_PPU:3 B* O4 D* d$ P) {6 ~
  778. LDX #$00
    8 Z$ [' }* |/ M
  779. LDA WEAPON_P2_ADDR
    ) v0 I$ B0 j9 W5 X
  780. STA $0703
    $ z% K. }( t: Y
  781. INX; @8 t5 _2 s) T$ B
  782. LDA WEAPON_P2_ADDR,X1 M; }  \" @% Z1 ?. j
  783. STA $0704( o/ R# ?% M3 W! N0 }9 P& ?
  784. JSR PPU_PROCESS
    ' `/ `# p, _+ e3 c0 E$ ^" {; z9 [
  785. WEAPON_P2_W:
    % e8 O! [7 S+ ^8 {0 i  F: a2 O
  786. LDA WEAPON_P2_DATA,X' `! U1 G4 L* g2 K
  787. CMP #CEND
    % `- Z$ H1 [+ e) j# {2 s
  788. BEQ WEAPON_P2_START
    4 O8 D( x/ x0 g4 o. @; G
  789. STA $0705,X) X7 `) ?0 ~1 m  J
  790. INX
    , m: H8 t' ]0 W
  791. LDA #$002 `2 Y1 N' {/ U- q
  792. BEQ WEAPON_P2_W" Y3 q, ~8 J7 Z) k+ p) v
  793. WEAPON_P2_START:
    + w6 W2 W+ N8 W# u9 ]( t
  794. JSR PPU_START
    : x+ I1 A4 A/ i1 [- N  ?" [/ e9 R
  795. RTS
    * M. _6 u& H+ j8 Q: v2 R

  796. ( {7 ^- l4 c" Q4 `
  797. BULLET_P2_ADDR:
    % ^- d2 J1 X8 P: [
  798. .BYTE $21,$3A+ e* m9 v. U. c  u) p5 V
  799. BULLET_P2_DATA:
    * ^0 o1 l, q( G* Y& O9 `4 r
  800. .BYTE $00,$01,$02,$03,$04% T4 W5 c) c' \) D; r  v3 Q8 `1 o
  801. BULLET_P2_NAME:/ I+ V: B% t9 _6 m
  802. .BYTE CN,CM,CF,CS,CL
    2 [, u2 Z& d* v- J) f) z1 n
  803. , P; l8 ]9 ?$ l, p$ E2 I
  804. BULLETPPU_P2_PPU:
    ( Z2 g' d1 l7 `+ h: I( A
  805. LDX #$002 E" n; T+ ^* G: {& q7 {
  806. LDA BULLET_P2_ADDR
    + u4 I3 E5 n! U0 w7 }$ H# D6 X2 @* [6 j# X
  807. STA $07039 R! [9 E9 q$ D/ n5 [+ t  L
  808. INX* f" ]% y; I$ V( s
  809. LDA BULLET_P2_ADDR,X# Y8 g8 S6 A* W8 K$ C
  810. STA $0704- @8 q# ^% Y) {" _3 u3 ]0 A
  811. JSR PPU_PROCESS. z5 t2 J( w3 g$ W. T$ y
  812. BULLET_P2_WRITE:* o# c+ x1 K# e/ J) t. }: R
  813. LDX #$002 }& L* Y( @4 X
  814. LDA $AA
    / x3 x! S; q+ f& I. D. ~6 M" q+ E
  815. AND #$10% s- n8 u4 D' {1 }
  816. BEQ C_BULLET_P2$ D3 T' h6 \$ d+ \3 l: x6 z
  817. LDA #CS7 ]3 v$ k% n9 X" D+ |
  818. STA $0705; U8 R* f, k# l9 `* d
  819. BNE B_NAME_P2
    4 ]0 a( I6 p4 f. w+ ]7 L9 ]# `
  820. C_BULLET_P2:  }# b/ z1 x! C0 \$ G( y6 d
  821. LDA #CC
    3 `* C6 W4 x0 n, t* k- _2 B) c; J
  822. STA $0705
    , B. f7 c$ K* x# Y, ~' A* i
  823. B_NAME_P2:
    + q; y0 \, o7 S3 V: d+ z! R
  824. LDA $AB* k3 B6 I. T& L
  825. AND #$0F
    1 z% K( J8 t5 E3 O- M
  826. CMP BULLET_P2_DATA,X) W( P: W( m" c3 I2 m. g6 o
  827. BNE B_NAME_P2_RECMP4 h- [4 F$ ^2 P4 g7 _& P
  828. LDA BULLET_P2_NAME,X2 H6 ]/ d+ c; A4 Z0 Y
  829. STA $0706
    ' d6 w2 T" P3 U. q0 e  Z
  830. B_NAME_P2_RECMP
    ' Y- `% m# |8 }' p+ B4 X) [. K. _
  831. INX/ s2 b9 S6 R* j5 K/ i
  832. CPX #$051 C2 A( r. Z; N& w( ?" H% |2 i7 k
  833. BCC B_NAME_P25 p% \# W  }2 N4 C* p
  834. LDX #$02( S  t" d: y$ I# z+ n$ O6 h; Q
  835. JSR PPU_START
    0 |- S# u6 e) o& T
  836. RTS: W) h/ n, k1 S' |! u, E4 T
  837. : b1 I% i4 Q3 A1 Y+ a

  838.   S2 S) d& Q) T/ i
  839. - S4 P8 B# ~% T# @# d

  840. 3 _* e* S, `6 N: L4 L
  841. 1 G2 Z, k5 [( k+ j# U) I+ @

  842. . z+ j' K7 p) `9 }1 C
  843. LIFETODEC:                ;十进制转换
    * |1 v# P' Y: u. K' a' h
  844. LIFEL1:        ;initialise7 l5 {& {2 d' O$ M3 }+ n; u
  845. STA $7A00        ;$7A00=F3
    & I! z! K% f5 H# W7 K- h
  846. LDA #$00
    ! v9 @4 O" G$ T$ t% X3 x
  847. STA $7A03        ;$7A03=006 V" F2 I! M% @3 ]5 V( X( r
  848. STA $7A04        ;$7A04=00
    3 c0 H0 w; W. t3 Q$ [3 Z' W# E6 j
  849. STA $7A05        ;$7A05=00$ h# _( C8 v9 R2 m: G
  850. LIFEL2:        ;copy data $7A00 to 6001
    # p+ x8 _1 `6 Q* I
  851. LDA $7A00
    * }' r( H% i2 f! P$ e) s
  852. STA $7A01
    5 F) P2 j; B1 Z4 B4 f

  853. - q  \) u) P8 @) p  W5 S& m
  854. LIFEL3:         ;hundred# c, D- @1 ~( ~. F3 {7 P
  855. LDA $7A01
    . s3 A( D5 l+ r' t6 {
  856. CMP #$64
    5 u& {1 r# \0 ^- Y* W, z+ w. Z1 G
  857. BCC LIFEL6                ;$7A01<100 goto L61 q2 l: |$ B) n) h; R+ D' V, m+ U  o& m
  858. LIFEL4:: r' x) j" f3 F- g2 w
  859. LDA $7A010 K2 n, P' v2 E/ k& ~1 _% v
  860. SEC
    $ V( p9 L/ H: P, n; j8 _
  861. SBC #$64        ;$7A01=$7A01-1005 \; T5 L" B1 Y! i( V" {5 C
  862. STA $7A01
    0 I! \, D% p) Z! Y- |5 i$ U$ n
  863. INC $7A03        ;hundred++  f1 H3 y1 ~- u  L; P! P$ H
  864. LIFEL5:
    9 t! f. P* y/ j# ~# R# P
  865. LDA $7A01
    6 y8 V, B" P  |- m' L
  866. CMP #$64
    : S  _7 V; m7 x- E
  867. BCS LIFEL4                ;$7A01>100 goto L46 \. Q7 j4 Z5 a) u8 S& ]

  868. / _9 k2 t% e8 n* v. s  K
  869. LIFEL6:        ;decade
    2 L& ~' [: z0 P
  870. LDA $7A015 g) s8 @! K7 h- U; `7 x5 H
  871. CMP #$0A
    8 D! A. L: K* J0 i
  872. BCC LIFEL9                ;$7A01<10 goto L9. ]1 t8 E( G3 D' z9 u+ z! J( \
  873. LIFEL7:       
      a' n: B5 \/ v: \3 K5 q7 l
  874. LDA $7A019 m4 E8 X5 t3 q- f3 B9 D
  875. SEC/ h- I6 N% Q8 L; R2 G- t9 e
  876. SBC #$0A
    - Y5 A7 K- t- z1 j, j$ i( I& h
  877. STA $7A01        ;$7A01=$7A01-10! Y6 b) S+ I$ ~# h' a
  878. INC $7A04        ;decade++& T4 @3 N# o  A' C2 K) b) N3 ]) U" ?2 B
  879. LIFEL8:
    6 d4 s8 W  q+ W; o5 b/ T8 f
  880. LDA $7A01
    ( `% Y9 h! m' o- x2 @! Q( \1 ^
  881. CMP #$0A
    - V9 E' d; ]9 E* z
  882. BCS LIFEL7                ;$7A01>10 goto L73 r( p0 U+ z0 [* Z+ L( X& K- q
  883. ;unit- R/ x( [: U8 X) o% J% ?# a
  884. LIFEL9:
    1 H: c$ |! x1 ^% l' z6 h* f
  885. LDA $7A01        ;$7A05=$7A01
    6 j" O! p0 ~, A$ I* i
  886. STA $7A05        ;unit
    1 O* M, B* Y2 j
  887. RTS        ;return
    8 ?- K' `- ]9 E& p6 a4 H' V4 J: ~) u
  888. , P$ ?. o" \- B1 w, M
  889. - }) m" J' h3 _( e9 L/ z# m- a3 U
  890. 2 G4 a( I9 p9 |5 c$ g
  891. PPU_PROCESS: ;PPU地址处理程序
    9 g' Y+ q. O9 X; t/ D
  892. LDX #$00: b1 `$ Y' k8 ]8 F1 {- G! P3 L
  893. LDA $FF- }  w0 O$ ~0 o
  894. AND #$01
    * G+ f- `0 X3 |3 Y; o
  895. BNE PPU_2400_27C0
    0 @/ [' i" y! y1 E+ y
  896. PPU_2000_23C0: ;命名表1
    + w% ^" b/ Q1 z/ X9 v
  897. LDA $0703
    ( k& ]. K( q7 t8 n
  898. AND #$FB: t! M* M  f! I: u3 B
  899. STA $0703
    5 f, i0 D" m$ o, i% b
  900. RTS
    % ]; g% I$ q  a( Z2 k
  901. PPU_2400_27C0: ;命名表2" }5 T/ W& W, E4 N" x
  902. LDA $0703
    6 m' w/ H( \8 n
  903. ORA #$04! R2 M) I  ]2 U9 ^& n, Z0 e8 Z  U
  904. STA $0703
    8 |2 Y/ L2 ?7 ~/ [4 m9 s1 I
  905. RTS
    ( O. O9 T; w/ s1 s

  906. ) b) d6 t7 n! P3 l+ {4 H1 x# q
  907. PPU_START:  ;PPU数据写入
    8 H3 O: a* c6 l9 A6 u* S/ A. R: j- I
  908. STA $216 a0 I: X% I& J0 z  H' C
  909. STX $0701* [% {& R# |' r1 E$ G
  910. LDA #$000 V( I; p' e( w' }2 _- N
  911. STA $0705,X
    , z4 W( t4 j8 i1 h
  912. LDA #$015 u9 @. Y) ]0 I, ~2 A! s
  913. STA $0700
    7 ^2 }( X% u* Q8 p2 U* `, A
  914. STA $07023 ^# @% g4 U0 t: z# {
  915. RTS
    2 _. y% o9 N! ?

  916. 0 k8 a1 Y2 t* {1 o
  917. , j( H. z/ y; d9 B! b% f

  918. 6 x) a# a* a( k, X% ?# p8 X

  919. 2 `' M9 n& a: ^* \

  920. 6 H! t1 R7 ~" D) M1 z: f& @  M+ i. \! d

  921. % O; r! e7 P( M" ~
复制代码
9 c) F) n7 O% i

本帖子中包含更多资源

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

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

签到天数: 2213 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!4 U% O9 O% w3 G

签到天数: 2560 天

[LV.Master]伴坛终老

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

签到天数: 26 天

[LV.4]偶尔看看III

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

签到天数: 2060 天

[LV.Master]伴坛终老

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

本版积分规则

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

GMT+8, 2025-6-14 02:04 , Processed in 1.084960 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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