设为首页收藏本站

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    0 N* u9 C4 Q# s( E  g5 f5 O
  2. 作者:FlameCyclone# m& n! Q0 e' O6 O; H; T' [1 T
  3. 时间:2017.2.12; w4 P$ l5 I/ Y( x& O0 c
  4. # g8 O7 G. s- i) o9 E1 v% u
  5. 按键跳转:0 ^" q. z! H. K4 @$ \; [$ a# F$ c+ z
  6.         C1EF:95 F5 94 F1* a, k# C+ h0 B* q
  7.         C1EF:20 70 FB EA
    ! P6 E! `) h1 \+ i7 u" M
  8. : q4 U$ n5 l9 F" _* Q" t
  9. 滚动偏移:
      j$ T( _; s) T
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20
    - L; z. F5 U( N
  11.         F936:20 C0 FB EA EA EA EA EA EA EA0 x9 U; v$ R+ ?  @& M& C" q9 k
  12. : B- M  s% H5 z$ r, B
  13. 背景调色板:
    + L$ O& s* f  I0 D7 s  o. r9 g
  14.         CF20:9D C0 076 A$ U$ V! ]( n. o# N) m
  15.         CF20:20 A0 FB
    # O$ |3 s. j2 J$ F8 P/ v
  16. ' v4 y8 N8 G& u( |
  17. PPU BANK号:4 |0 P$ U: b" k9 [! n1 v6 I
  18.         C8C9:9D F4 07% V# O0 ~! W3 ]  Z6 l9 t
  19.         C8C9:20 B0 FB$ p  O7 U; |6 V
  20. ' n4 s- q# M5 C6 {
  21. 按键跳转:0 z: C4 @, {, b
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    * W$ y9 H. I9 @% M" x+ q0 J! f3 A
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20/ U. Z) r! a7 p8 T  ^4 O9 A
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF
    / z: ]+ {3 F) v: ^

  25. 4 I4 U4 D5 ^; z
  26. 背景调色板:
    ) l! \( B) T7 S
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF
    6 s7 x! s2 t& P9 ?4 Q5 @

  28. : Q# P3 }* g$ ?# f
  29. PPU BANK号:9 @. J3 P/ }4 g8 `
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF5 L3 J( n1 k- R: ~6 r5 y

  31. 7 b1 L1 b# o$ z% e# q! H4 m
  32. 滚动偏移:. a# }8 l/ h: y
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60+ \' i: A/ |% R9 K! C; T/ d9 D7 d) r. T
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    & \5 }7 k) [' o! p& q

  35. * j1 h( O2 g& }9 F

  36. ; @0 Y) r0 l, p( M! D* b/ f
  37. 切BANK后A000:
    7 [7 B+ ~8 A  h0 s8 z* _5 F! G9 m
  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: ?- d4 n9 V" T4 d9 Z

  39. 7 A: B$ F! z# G" c0 K5 Z3 O
  40. ' ^& C+ x3 I! F' O% y3 C! }; _
  41. 6502 simulator:' P2 C7 o7 L# n3 n- I: H; p- U
  42. PPU写入程序:0 ^8 F: h: G1 T8 Q- u0 {
  43. .ORG $A000
    ; Q# E6 v% g' \9 v* ?
  44. CSP = $801 s  D+ N$ t+ g6 O' ~  O3 x
  45. C0 = $81
    9 M* M# ?5 P! a/ l; `! i
  46. C1 = $82
    ' Z( Z" Z+ I5 E; `& p; G2 m0 m
  47. C2 = $83- {7 z; x" W: _8 R; g( h
  48. C3 = $84
      v( A2 M1 c0 v1 p2 b; l
  49. C4 = $859 t5 }2 E' e* k3 u9 f5 b
  50. C5 = $86
    2 G+ Z9 \0 v) g3 N
  51. C6 = $87$ m& |& O- j0 H( m2 x
  52. C7 = $881 p* X6 z7 B+ i1 @' a- ]' a
  53. C8 = $89( C7 \- x% v; i' _( Q% t
  54. C9 = $8A  S' j; M; p. e
  55. CA = $8B
    6 S2 N+ h0 X9 B1 _5 ^
  56. CB = $8C
    ) n: G: m2 \+ T( k1 r
  57. CC = $8D0 l+ @  a  o+ O1 n# j2 G7 b
  58. CD = $8E4 [* K" B8 Y3 d' D) Y) o: B  E
  59. CE = $8F
    . _, d$ t4 [' y( y! R* k9 q; `
  60. CF = $90
    $ i8 @  b% h; h5 V  c% o+ N0 C4 W6 L
  61. CG = $91
    1 W, E' i/ x& G7 R, ^9 e& Y- \* m
  62. CH = $92% Z1 k4 L" I, r6 i
  63. CI = $93
    9 ?+ }9 s; g6 W& o, D7 k
  64. CJ = $94
    , W& S3 I1 U0 G( g; S. z
  65. CK = $955 ^8 G# a. |4 i- p
  66. CL = $96
    5 o7 v- m5 x: y) l  w# D/ w, B
  67. CM = $978 h. e. ]- e, y6 U, ?
  68. CN = $98/ C" }3 v& a. v& L. d% G. B
  69. CO = $99
    4 p" ~7 n" y. h( {
  70. CP = $9A9 w% W$ A4 O# \: D/ z4 w
  71. CQ = $9B
    ; q2 `4 F2 U8 k4 l& S
  72. CR = $9C1 Z) a. D# Z  {# B0 _5 K7 ]* t7 M
  73. CS = $9D
    ( S$ q( G$ o  u$ P/ M! O
  74. CT = $9E! |8 _$ u; I+ y8 d* y) l
  75. CU = $9F: R" [6 f6 I# F) m" S: h4 J# u
  76. CV = $A0
    & a9 a9 k2 ?7 L/ f2 D3 e8 y
  77. CW = $A1
    3 N1 M* z" ~( b
  78. CX = $A2; m/ e7 }3 L/ @9 k0 d9 p+ M# s$ A1 k
  79. CY = $A3
    1 F. z+ w8 U+ {6 N1 n
  80. CZ = $A4
    2 o0 k1 e8 d6 ?; ?7 s9 M% P
  81. CEND = $FF  [! Z1 b/ C5 S  E8 \: \
  82. # u( {" y/ w0 _% I! ~

  83. 7 D+ S' Q( d* b) ?3 U! _
  84. CMP_RE:
    ; b5 G2 c+ \, f* X7 j5 c! x7 n
  85. LDA $FF
    % [/ s0 x9 N# c# Z: E( H/ J/ X
  86. AND #$7F5 t8 s2 M( [5 i4 a" I9 [# k6 o
  87. STA $20003 P# h2 ^- f6 j: c3 I
  88. LDA $2002  x: X6 S; a% p
  89. LDA $256 `7 k8 L: w1 w2 F0 O7 |
  90. CMP #$01
      E. `7 M2 G4 s! a( K
  91. BNE PROREG
    . V3 o6 Z. L; ^$ `$ F5 _
  92. LDA $F5,X
    " G0 c( F$ y5 ]  r
  93. AND #$CF
    ; u/ f" o8 Q5 {0 N1 Z
  94. BEQ PROREG
    4 j' v/ L6 _; H  u$ G
  95. JSR PPU_CMP
    4 P: p1 j, J/ u: a) W
  96. C_RE:
    6 a4 i  M& N8 d
  97. RTS
    5 Y; {- r! j5 V! W; z
  98. PROREG:$ s+ T9 ]3 D, t8 Y$ E6 \- U4 _
  99. PHA, J9 D! n5 F7 Q0 {& V) l! B1 f  ]
  100. TXA
    ( m+ _; O7 k, s; v4 c
  101. PHA
    % l# J; l* u7 m
  102. TYA* [# u9 {. ^" w
  103. PHA. Z% S6 |% ~" b) \
  104. LDA $25
    5 K+ U% q# z+ \
  105. CMP #$01
    ) N' Y- e* @4 e4 e1 m6 x- F
  106. BNE RE
    5 z, X/ u' }* S5 t' j% w
  107. LDA $010A; N8 M4 ]$ B; \  C4 M' H* a
  108. CMP #$00
    2 B0 f: i% |% {; p9 u5 ~; x, U( E5 T
  109. BEQ P1
    ' w0 _, Z8 c+ _9 o; Q# ~6 [' c
  110. & t, B8 d3 e0 T% v  L" J0 W
  111. RE:2 V  s% {: ^) i' m" G: R/ M
  112. JMP PPUWRITE
    & {/ E. k4 |- l% m

  113. 7 `8 y) U& @2 q2 b+ _
  114. P1:                ; 条件判断
    1 X; }3 [4 H3 G
  115. LDA $7FFF3 Q* \( V5 u) j  v+ r& [: s
  116. CMP #$FF9 O; d/ Y* i& q( w" M3 h7 h  \2 D) @; r
  117. BNE P1RP& j* E- d4 s& V& a. n
  118. LDA $7FA0: N6 Y: C* t! i" W. \  v( n  @" y
  119. CMP #$00& x* v; I* J4 ?
  120. BNE P1CMP, n3 R/ u8 U& S- c! E& V
  121. LDA #$FF' l  _/ [* X& H8 H
  122. STA $7FA02 k* o) d! Y! Z6 j
  123. JSR CLEANA) c6 n2 U2 ]& H  I7 n, I  x( `
  124. JMP PPUWRITE' S; M- y5 O4 ]( W- L
  125. P1CMP:
    . }& ?( |8 a8 K8 Q0 B% ]& D
  126. LDA $7FFF: `' d* _+ S( R  p4 ?; a
  127. CMP #$00
    . J. b: U! ]1 v) g" ]
  128. BNE RE# h' S$ F# Y0 w9 a8 l6 y
  129. P1RP:
    " z' h5 Z1 @& U) X. Y# V- ?
  130. LDA $2002
    - i# g7 Q/ w! R  |8 I  j" p
  131. LDA #$005 S( c7 |& C6 L# T7 {: m
  132. STA $2001
    5 E. `- ~9 [; W1 p/ F$ v
  133. LDX #$00
    ! \, S+ u/ e" l+ Y* j
  134. LDA #$FF( v/ e3 c. S2 k; C. c
  135. STA $7FFF; O) l  T/ }; L, q$ K
  136. STA $7FA0
    4 I$ V' H3 Q4 M! r/ d
  137. JSR COPYPPU
    * S6 n7 N0 C$ S" }3 h' v5 f
  138. PIRP2:
    5 ?, U% Q  e; I( j+ K- y( K
  139. JSR CLEANA
    9 E7 k8 i2 C5 _" k
  140. JMP PPUWRITE
    & A8 V3 g: y, p. ~
  141. : ?% m& f2 \$ T5 B: _. k
  142. COPYPPU:
    9 m1 M4 p" w( U5 s9 |/ B
  143. LDA $FE8 f% Q/ ]8 l, O  B' S( _
  144. STA $7F50
    2 }7 p, @, A& s( k$ C4 z! S
  145. LDA #$08
    ; u* L- G4 \% |6 G. f
  146. STA $FE- v5 r: n- ?) R6 M/ K
  147. L0:
    ) V3 W! c- F1 E  m( l7 O; y% {
  148. LDX #$000 W9 l9 l# z- j
  149. COPY_07C0_07DF:
    : p# K2 A  h9 G/ e! v4 ?+ m  v  g5 g
  150. LDA $07C0,X
    7 {$ c& k# F9 Q
  151. STA $7F00,X& @5 q4 k7 y; g
  152. INX' F' c6 o* L' K! n, o5 v
  153. CPX #$40; i" j1 U6 m0 y  }& W5 b
  154. BCC COPY_07C0_07DF
    4 h7 j# H! W$ _
  155. LDX #$000 I& E9 @: Y  b( V* M
  156. PPU_07F4_07F7:
    8 u/ t$ H- A+ Z7 l& v3 L
  157. LDA #$00
    # D1 z6 r' L6 ?( I
  158. STA $07F4,X
    4 [9 N  b" E1 ]/ k4 U0 e
  159. INX
    8 N$ r# K  u/ l7 ?# ^5 C* i
  160. CPX #$04
    1 W/ _& o; [& H, U. E( O
  161. BCC PPU_07F4_07F7
    / h; `& [8 c- I7 G+ N1 i
  162. LDX #$003 h- D" j: }7 E2 ^9 T# J5 s- J
  163. COLOR:
      b  Z- ^+ {! t6 R* T  [
  164. LDA COLOR_DATA,X8 y# c1 ~! o$ E9 F7 w* q
  165. STA $07C0,X" a- s! j5 |  o+ j8 @
  166. INX+ z/ ?2 ^( W1 s  W/ [" @# P) e
  167. CPX #$10
    7 l) M# o+ S7 R0 b, w3 V# P' ~' U# W- B% f
  168. BCC COLOR, Y/ K9 V% i+ D' W( I

  169. 3 a6 G! v2 I& z3 `
  170. PPU_COLOR:. {! [  z0 {  O) K( `' K
  171. LDA #$3F0 K5 j( b' a& \8 v
  172. STA $2006* f$ k2 A# A: k* ], O) |6 Y  m
  173. LDA #$00
    : ?( S( x: ?/ }; q7 O% Y. n3 M$ N
  174. STA $2006
    ) \  H& h/ C/ R) F, ^
  175. LDX #$00
    3 P8 f0 o/ T( P
  176. PPU_COLOR_W:
    + \* Q4 ?- ~+ f7 \
  177. LDA COLOR_DATA,X% z8 ~8 h: l9 t1 k' }  |- j5 g  M
  178. STA $2007
    ' r% O1 X  H% k, x6 _- h
  179. INX
    " }$ O6 n% I5 M; ^) S. g1 z
  180. CPX #$10
    . _; S: j5 b4 M+ t
  181. BCC PPU_COLOR_W# z; Q# l, j7 f* ^: {
  182. / T' h" @3 ~2 r
  183. ( H% Q8 J2 R$ Z( v. r# h
  184. LDX #$00
    6 D2 Y' `# S  C+ ]8 W7 E
  185. LDY #$009 Z  e+ \% J, l( d  Z4 c( r5 y
  186. LDA $BD
    0 q+ n) P- p% O; o7 |4 x( Y& |, m
  187. PHA
    + Y2 f4 h7 k* I1 x3 M
  188. LDA $BC
    3 K/ Y; B7 n% A( Y) ~; u
  189. PHA$ D; Q* K; s" O$ t5 b
  190. LDA $BB
    6 m: \6 v. W- z; S6 R/ r
  191. PHA
    $ s; r2 B4 T- D' d8 @2 |
  192. LDA $BA
      A8 _4 Y9 e. X6 P5 d
  193. PHA& J* s. H8 r6 Y2 A
  194. LDA $B9
    7 s/ @  ?. b) N$ B8 R- l2 _9 P
  195. PHA* c9 ]' d: |: O5 Z. s5 N
  196. LDA $B8
    ( W5 [3 O. h9 A
  197. PHA# z4 `! b  b$ P) E" A
  198. LDA #$00- i# h8 ^- n9 h& \* b9 g6 N
  199. STA $B8: x$ s3 l* B& I" `, E+ Q/ m6 N9 V
  200. STA $B9
    % X* w8 s, [0 c3 q: a
  201. STA $BA1 e+ C5 F3 \' m+ ]# N, l
  202. STA $BB( Z* H( y9 Y- r
  203. STA $BC
    & }0 U1 e6 P! X8 W4 {) l9 P8 _
  204. STA $BD1 Z8 T5 K5 ]+ j
  205. LDA #$00
    2 N& _- [; z8 z9 S6 R3 F
  206. STA $BA
    * P" {1 R  r0 \% a) E
  207. LDA #$20
    2 K/ ]5 K, _* m( p
  208. STA $BB9 }2 R: ?* @! K1 C
  209. LDA #$00
    + h' R! b0 }! ]0 G" ~  ~9 p
  210. STA $BC
    / D, F( F& b- l$ N( v, N
  211. LDA #$602 ]& D# a: g( S# R2 w" P& W% M3 p, [
  212. STA $BD
    + A5 H1 ^. w; {& }% V+ x
  213. - J4 c2 ~- b9 g. l
  214. L1:                ; PPU复制
    ; x: o+ ^9 {6 Y' z! S
  215. LDA $BB
    $ J. l; x* T' l
  216. CMP #$28' f- s8 h0 d" D, l& H3 b; r+ a
  217. BNE L2
    0 Y5 F6 h, k- P5 r3 k# M3 |
  218. LDA $BA
    0 w% Y0 q% d2 T
  219. CMP #$00
    ; j/ L& m1 d3 D0 s4 o  |
  220. BEQ PROADPLA7 `& }* G( I/ j8 S

  221. ; `& B0 |4 @8 N5 o6 P& w
  222. L2:* ~' n, N, N3 {( E5 H+ o* @/ x
  223. LDA $BB4 e9 h, ~% f; e! A
  224. STA $20063 T7 O: |+ r2 \
  225. LDA $BA
    & c/ A- F# S' W
  226. STA $2006
    ! A% H+ ]5 U' S1 y5 _3 E9 m0 K/ ?7 U
  227. # T" P( M4 i" z* `5 f& M+ E5 B# J
  228. L3:
    & \4 s1 K; ]0 ^% [1 p% t/ Z1 u% _
  229. LDA $2007- S4 u1 ^. q, T2 w
  230. LDA $2007% A) B0 g( g4 u. x* y. ]% Y4 t5 U
  231. STA ($BC),Y
    " c9 X) B4 ~$ y4 y+ M' T/ w! m( N

  232. # D' e" D$ Y# O& J* Z: l9 i8 e
  233. L4:+ U$ N3 ?$ X# X  A9 i
  234. LDA #$00, `" d# q& D" B7 R& y
  235. STA $20001 R7 m9 c  G( x" k5 n  Y
  236. INX7 V$ {1 W4 ]" ~6 I$ D
  237. INC $BA
    ) v; i  L5 a2 r* j6 R
  238. INC $BC  m) ^! y7 K; R* j+ d' {
  239. CPX #$005 J# a' A  D/ N+ m6 N! J8 z* Y
  240. BNE L16 ?" A% l2 w% [1 w1 H# j! j0 y$ T
  241. INC $BB
      N5 P, K2 \- S5 t/ q" F
  242. INC $BD
    & z+ H6 k5 S4 ~/ t
  243. JMP L1
    5 O* w+ O% z0 _( A
  244. # j9 V9 Q9 e' l# y) M( g5 v& M
  245. PROADPLA:                ;出栈
    7 ]; o& @. |; U1 m7 p
  246. PLA
    , R: [$ n% d7 z# M5 g. ]* k* F, t! ^
  247. STA $B8
    0 w: |$ z6 m2 @* p4 v0 z5 a& h
  248. PLA
    8 O8 o0 F& T  P8 e5 O# I
  249. STA $B96 l) b7 I3 N4 n6 }1 ~" j8 s
  250. PLA. o, S3 _& E( K8 {. |2 x" ?
  251. STA $BA* q' V* G1 R' ?4 N# ?7 v3 p
  252. PLA& q6 U) f/ ?, w  ?% U1 B
  253. STA $BB
    0 j" t; M" B! ?% q/ E
  254. PLA( O  S  w9 N7 E5 R' q
  255. STA $BC# D3 d6 {2 S7 ~% \5 K+ @1 a
  256. PLA" _% h' t+ F( ?( ?
  257. STA $BD
    / M3 ?) U7 u( w: C
  258. CPRE:
    . F9 K3 D/ O! S4 B0 P. u
  259. RTS) [, B' J# C- S/ w6 M; e8 Y

  260. ' S- }- T3 b5 I+ [: [9 a8 q
  261. CLEANA:                ; PPU清空( q  M( A% j$ k4 c1 i
  262. LDA $BD. A' f! H7 C3 Y/ ^
  263. PHA
    & K  c0 u! x/ v
  264. LDA $BC
    # Q4 \# E3 r- K9 t; Q: S- m
  265. PHA: i- B) K% v6 |" T" `& [5 ^6 c
  266. LDA $BB8 Z3 k- L1 v# z" S
  267. PHA
    . @4 R: H- G3 |  x% m
  268. LDA $BA% J) Q0 Z6 K1 u/ m, ?+ C
  269. PHA
    $ p2 u" O3 Z% Z
  270. LDA $B9
    " h9 W# E/ _  `
  271. PHA
    & w3 C2 X! H, [1 p9 Q2 }
  272. LDA $B82 Z/ T1 @6 V# ]( b! j
  273. PHA
    5 t, H5 [: f+ E2 Z
  274. LDA #$00
    . i5 \" o$ c! ~! ~) g
  275. STA $B8
    : K, S, ]. q& {7 r$ ^
  276. STA $B90 ?2 }- s3 P$ ~
  277. STA $BA
    " U; P% h: F, f/ h- f
  278. STA $BB
    7 Z2 S8 f3 {, `2 p
  279. STA $BC8 h# x% V9 Y4 |; s- T5 `' c8 Y' z" a
  280. STA $BD8 L! X  i$ n9 `" K' d4 Q
  281. STA $2001' h* V' i5 w# T! P; ?1 }% }
  282. LDX #$00
    , {) Y; c2 G# I4 P  `4 c" O  T
  283. LDY #$00
    4 A# g) x3 Y! H0 z5 H
  284. LDA #$00
    - b8 ?# y. N$ j9 N
  285. STA $BA5 ~: v) G5 x1 d4 z8 m" B0 {
  286. LDA #$20
    & C6 O5 `1 f4 Q- u
  287. STA $BB
    4 T2 \1 [0 i8 }. Z8 a
  288. - o: X. {1 e5 B8 }* y: _. {3 Y! B
  289. CL1:
    1 P4 @* m6 R" [) p9 b: J# u
  290. LDA $BB9 z; t9 i4 I" ]# s/ d' P7 f
  291. CMP #$28
    $ \5 Z; h" s1 @3 w6 P( W0 R
  292. BNE CL2
    2 a" E( ^1 I+ A, F% A1 g
  293. LDA $BA
    ! C% z5 w0 T0 D& i: C5 ]* {
  294. CMP #$00+ k5 G" q6 R9 ?  l
  295. BEQ FREEWRIYE! I* J" I; f/ x8 v
  296. / m: w! s  ]" P- B4 @5 k( g0 i
  297. CL2:
    4 v; {- U/ J6 |8 ?! D
  298. LDA $BB
    / u  A3 o' T, [' f
  299. STA $2006
    2 c- A/ k6 @! \+ [1 O. J4 @1 m' _
  300. LDA $BA
    + C0 N2 Q, w8 }
  301. STA $2006
    6 T0 X$ @1 X- Z3 {! h0 e

  302. ! C3 v: G* h, X$ H" P
  303. CL3:
    4 R  v( ^9 U) _4 N6 i2 K
  304. LDA #$00& x* _  y1 o/ h; X6 i8 n
  305. STA $2007
    0 w& C) W7 `3 q) p' j
  306. + m+ I  z) G& Y( |5 n' Q
  307. CL4:8 K6 b2 F" D# d, h7 B
  308. LDA #$007 b) U) y- L, I# q1 f+ B" ~
  309. STA $2000
    / t4 j, q% E* L9 ^0 n1 j# m
  310. INX& I8 H+ ?) C' y" Y: D7 ?8 h
  311. INC $BA
    + W# J: |6 E6 [9 q! ~9 h
  312. CPX #$00+ L9 l/ S# V4 \9 x, l
  313. BNE CL1
    + q: @' e# n- d1 C( F8 l
  314. INC $BB
    ' g7 p9 l2 e& h1 u
  315. JMP CL1
    6 O1 k# u4 U4 t' l) _; T% u+ M
  316. 2 C7 i6 H& ^1 O( {/ K) X

  317. ) H6 N( l6 t$ [) f! {4 Y- [
  318. FREEWRIYE:+ m0 w/ S* \' I9 _9 Z/ [6 M

  319. 6 N: a/ }# |+ W2 t) N  C3 S. j
  320. NOP& R' n  j2 J* U7 v  N$ Q

  321. 7 n1 T8 q0 s0 y# V- u, A7 \
  322. 2 l# q1 B- ^7 P/ r1 \
  323. ) o/ X- F; G9 g* ~+ X6 h! ~
  324. ! E9 n# v  q, W. Q/ s% e

  325. 3 y9 ]8 M  S7 g! i4 u* k) e
  326. CLEANF:                ; 恢复现场# J5 a$ c* m! @* J  m
  327. : F- A# @( i) h* g) ^( [! a" l
  328. PLA
    0 a: y4 ?" n" C( n2 H  y3 Y
  329. STA $B87 R# g6 J5 w0 C
  330. PLA
    ! I; t, {# ^! U# J
  331. STA $B9. R/ T* O; W& |5 W' m
  332. PLA
    / r# J" m) c8 A( A) e4 g; u* X
  333. STA $BA, n' V$ Z) @) y+ z$ v0 R# G) L2 g+ l' H
  334. PLA! v: _  v  U5 o5 Z0 Z
  335. STA $BB
    ' c; |3 e* B* ?  U  q: d
  336. PLA& r" j) ?% q8 b
  337. STA $BC
    & w, e9 T1 Z' k1 n+ p
  338. PLA6 m# Z& \% u3 a% |7 ?9 o+ C- B9 R
  339. STA $BD) T+ B6 x4 U0 P1 F8 p
  340. CLRF:
    : {. Y8 @2 y  F1 O# p, S. ]1 h
  341. JSR FREE_PPU
    & U  i5 E2 R& ]4 d/ H2 n) @0 d
  342. RTS9 e, G' V+ C! {
  343. 9 c; H( K. ]  h8 [5 V0 i& R# X( Q1 ~

  344. * o& f9 {4 M, Q* f
  345. PPUWRITE:    ;PPU写回
    ; [" I$ c' o+ J" k9 _; l
  346. PLA: h# ~; v- {- s- m
  347. TAY
    4 x- c! U1 H. P3 I+ U& Y
  348. PLA7 X3 Z2 a. ?9 d& q0 K
  349. TAX
    7 Z  r% F" B' k2 H  y
  350. PLA+ f- x# V( L' @) ?$ Z
  351. LDA $25
    ( H# F, T! h% B7 w9 }1 X
  352. CMP #$00( A& L7 g! ^5 |6 P% z! c# Q3 \; ?; E
  353. BEQ WP1
    # g1 F4 }# Z/ @" i. T4 j, m
  354. LDA $25
    3 |' H( g8 D$ P3 A
  355. CMP #$012 A5 q! c' k- u9 z
  356. BNE WRE
    - d* F6 @& r: N: ~" `+ v
  357. LDA $F5,X
    + g8 l$ M9 h: H$ E: s, Z* G" K
  358. AND #$EF) D( a8 J* i$ S
  359. BEQ WRE
    , P9 G: I6 ]9 m% ?: D5 W8 O. p
  360. LDA #$00
    ! Y* X$ C' w/ Z3 ?$ l5 @$ P+ P
  361. STA $7FA03 ]. g" P3 e4 e; Q2 R7 F  z' m
  362. ( i  Y  P/ v# K+ C/ }
  363. WRE:
    ! q- ?/ t4 r' j; C
  364. RTS
    - A! k- G, s3 h

  365. 1 N4 q$ S. O+ N1 y7 E: Z+ H& i
  366. WP1:7 M6 K$ p7 L) k" k6 _, m$ H' X
  367. LDA $7FFF" l$ w  w& [6 _* ~7 l8 o# d
  368. CMP #$FF( ^* G) F! m" u
  369. BNE WRE# }/ i1 t( w4 z! w. T7 ~
  370. LDA #$00
    ) ]5 j3 _* k3 H1 K% I
  371. STA $2001
    0 F$ Z2 o2 w' a9 x
  372. LDA $BD
    8 `' r' }) b- j" ^: h# s) q
  373. PHA/ E. X' |9 z! m4 I% Q+ H
  374. LDA $BC
      c5 H( @* [9 }( B3 Q
  375. PHA
    : J: M' A8 P, L3 h% D4 h
  376. LDA $BB8 k- m' Z  t( o8 V1 Y! }- \
  377. PHA
    , G6 x' f( h. O' R2 o" J" b; n1 @7 I
  378. LDA $BA
      z5 Y6 I, a+ F
  379. PHA4 u* |9 q0 p; v. _" s
  380. LDA $B9+ j/ p3 l5 n7 {1 [
  381. PHA9 |% s$ k, h; G9 d" `3 i- T
  382. LDA $B8
    + @( K1 t1 v2 J* l- k* w
  383. PHA# @: j4 x  i0 f4 {
  384. LDA #$002 N8 i( q/ ^: N" T2 ^
  385. STA $B8- G0 d* O" V% U
  386. STA $B96 a9 E4 S" k) t" r7 h, p
  387. STA $BA
    . R6 Q# e' p! p% y
  388. STA $BB; r% f+ d: B4 C/ N" k
  389. STA $BC, n: Q" o8 i- J* L
  390. STA $BD7 \* u' }( {# T
  391. LDA #$00$ s: _9 Q) U  M
  392. STA $7FFF
    + N, X. B( p* P

  393. * K; i) k" R' Y0 Z, ~0 ^
  394. WL0:
    0 D% F! ^' _/ E2 P  [
  395. LDX #$00
    8 F- n0 S& B9 p( n: l3 h: b
  396. LDY #$00  D4 n+ Q, i' P# P% [
  397. LDA #$004 t4 a  W; V8 S1 w4 j- o
  398. STA $BA) S* y8 l0 [" _& a1 m
  399. LDA #$20& R! c( W. X6 z: L" d# f: J
  400. STA $BB. n3 m5 ~, V) U: k0 J5 ?; m
  401. LDA #$00
    % {" \* b4 Y8 ^' M& A( H6 t
  402. STA $BC
    ! E: S+ K' w' D; p
  403. LDA #$60
    # ?8 x6 V! E! I6 s! l
  404. STA $BD
    / j3 Q% p  w( T1 x8 t6 r# y; u. Z; X, w9 P

  405. 6 Q5 N3 C2 p* v
  406. WL1:" f8 ^& N  e) Z( _0 l
  407. LDA $BD
    5 q) o/ A6 ^+ H
  408. CMP #$683 V9 t$ j3 B. [$ W( b% M4 V
  409. BNE WL2, z! @+ e5 B' F$ [/ Y4 p
  410. LDA $BC
    / s8 b$ Z7 V2 _% n0 ]/ C
  411. CMP #$00
    # _5 H4 T* y" m8 f0 U4 e9 H
  412. BEQ WLR
    ! Y2 X/ o" \6 Z

  413. 7 I6 b" J% k% r% N$ f' |
  414. WL2:: ~( ^, ?0 w& p- E; t
  415. LDA $BD
    5 |$ h, g4 A+ h$ T
  416. STA $20063 i  C& e& C9 \* Y1 ~" I
  417. LDA $BC
    0 c/ x' b" q# \% l
  418. STA $2006
    / k" E; ?- [, E' N2 N2 x

  419. ' s* y5 i; X! D% }
  420. WL3:6 U! y8 K  T6 F& }: h$ a; a
  421. LDA ($BC),Y$ o, {! G' ?0 E+ Y# N; o6 p
  422. STA $2007
    : M7 Y! S) D" ~7 }& I. v

  423. & X9 h( Y  U" l" V  @
  424. WL4:
    % H2 F! c' G8 ]* X7 ?3 n/ Q1 {
  425. LDA #$00- A* q) C; @6 r1 b( \; o8 U" v" b
  426. STA $2000: b6 L3 H1 Q& f$ i# ]$ z
  427. INX
    6 y3 t+ F2 f/ }
  428. INC $BA7 A% C* ~1 c% w: |0 I9 F
  429. INC $BC- R( |% |. Q: p1 k/ o5 i
  430. CPX #$00
    4 q1 B1 z  |! P4 @& a
  431. BNE WL1* K5 w9 p: ^* L" @
  432. INC $BB+ c0 [7 B' J& g6 Y7 ?; k
  433. INC $BD
    2 t* {# i9 }; m2 L  b' T
  434. JMP WL1+ I# V' p: B3 X9 @( t: h5 F/ G+ x- {

  435. 9 D3 ?* p! i2 s8 k$ b& H$ Z4 h* X
  436. WLR:
    1 C! {2 M  p+ e+ Z
  437. LDX #$00
    2 e; ~' ^& ~6 N1 y
  438. COPY_7F00_7F3F:
    : L5 Y+ }# J' f3 H
  439. LDA $7F00,X' K; R& \4 Y: K6 V6 G6 F" X
  440. STA $07C0,X# b0 }0 S  o: n4 j' P2 s  {2 K) @
  441. INX
    : t5 x) o) o, b2 e% M
  442. CPX #$40
      Q) n% z" m" |" Q
  443. BCC COPY_7F00_7F3F
    0 W/ C, B9 y0 g+ X- l# p
  444. $ ^6 T# a0 a- E( e1 p
  445. LDX #$00, _6 Z: j' n4 r* Y# K
  446. LDA #$3F
    0 g( s4 {* M) v3 M
  447. STA $2006
    ; h2 R, E+ N# f% R
  448. LDA #$00
    7 c# q' b3 Q6 Z) \
  449. STA $2006+ T/ ^& F, i" {# U: A/ r0 D
  450. COPY_7F00_7F10:% \5 E2 p, [, l
  451. LDA $7C0,X: j7 Q: s; K7 o  _! X
  452. STA $2007. N- V' O: O1 o2 A4 \6 C# p6 \
  453. INX# C5 w+ o. p+ r$ M* m1 I) w
  454. CPX #$10
    / l( {; P2 H' U% t) [$ v7 R3 l" O
  455. BCC COPY_7F00_7F10
    . J% ]- A- C" B% Y, C

  456. " `# r4 W5 l) `% c: x; Z
  457. LDA $2002
    0 i9 a( C+ Q4 U
  458. LDA $FD
    8 q& A% g0 X1 N/ m
  459. STA $2005
    " X* H9 g  H7 U  z. b
  460. LDA $FC2 }+ W0 X  ?$ w$ {' w8 N& |# B7 O
  461. STA $2005
    ; n) I& y) W* k8 v
  462. # R  u9 F) X7 f" p0 _+ i( D) ?
  463. LDA $7F50  S" r+ W! |2 M- c. Z& Q: i) l
  464. STA $FE
    & p: z5 H$ Y+ C( Y8 V- ]
  465. LDA #$00" U6 G0 w5 ]) |& v% p! A% E# R  F
  466. STA $2000- e' Y. W% [: ]6 J3 F, o( |# a
  467. PLA+ s; \  O  F# h& i) v
  468. STA $B8
    " ~) X) H4 _; c: q8 L0 V0 L' W
  469. PLA
      K# J6 M, B0 a: |: W! f+ B
  470. STA $B9
    . ?1 l: q; F6 Y7 n. D7 A: {  h! g! s
  471. PLA8 t0 P2 p! G  i* P8 r7 H- {4 U
  472. STA $BA' v7 R) H: B9 e* P
  473. PLA5 F7 W7 i, E' e! a1 W( @& H
  474. STA $BB
    + C; {$ s; {  S
  475. PLA
    * y# w3 M- q+ F3 u; w& U( ^
  476. STA $BC" B' g( H. |: G: w* J
  477. PLA
    1 ~$ T& C8 j/ r: L" v1 S0 M* J
  478. STA $BD5 o3 [/ q- Z9 C7 h6 B

  479. 3 h" D* M4 r( |  n% `4 ]
  480. RTS. W1 X9 [. V$ T0 n" x* P$ a% f
  481. ( {; B; `* X- R' l9 o) {
  482. PPU_CMP:, r' y9 u+ g# J

  483. # ^8 C7 @( {$ i  n) Z2 S
  484. 9 Q4 P7 Z& T4 |/ z- w
  485. PPURE:
    ! y4 L7 `) A' z: l0 `. W) x; [
  486. RTS6 z* l% ]4 s2 k% j9 Z5 T
  487. % u) x4 U" }1 G* l$ Z% |

  488. : D! L7 I( M. C. K* P
  489. FREE_PPU:2 G% m& s. D: r, L

  490. 4 f# G- k/ g5 x% O/ z! Z
  491. JSR TEXT01_PPU- h( F: x( Q3 {9 v! e2 X" B
  492. JSR $CBC0
    0 S- f$ u+ W% l
  493. JSR P1_PPU% _0 G: G7 q# \. j
  494. JSR P2_PPU/ H& E% }+ P% _7 r; s: S. n% s
  495. RTS  X' i9 D0 ^- i8 |! a, Z2 {% _* n: Z0 Z, q
  496. 4 K4 x/ ~) T3 S' Y! V
  497. TEXT01_ADDR:
    ' Q0 J( s- E; t1 @
  498. .BYTE $20,$42
      J3 |! y* p' D1 w, r6 s
  499. TEXT01_DATA:; ?/ g- m5 a$ y* Y3 l$ X
  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) q; g% }& |6 ?& b
  501. TEXT01_PPU
    # U2 F0 [' i& q& h2 i- W
  502. LDX #$00/ Z; _* O# t6 H# @8 @8 E
  503. LDA TEXT01_ADDR
    6 @9 Y6 G+ i) ?+ j
  504. STA $0703& j1 G  {0 r1 m8 Q, E& p
  505. INX
    $ n6 }5 F" q; ]: }
  506. LDA TEXT01_ADDR,X
    ) t! K2 O- M$ @
  507. STA $0704
    6 b3 {: ?/ K6 U3 K5 N
  508. JSR PPU_PROCESS
    0 W: \  c7 f+ \, r. j# n
  509. TEXT01_W:
    2 Z- D) i# h- ?
  510. LDA TEXT01_DATA,X0 T. L( k9 F% E* d
  511. CMP #CEND+ E$ C9 b* n" V( @( o
  512. BEQ TEXT01_START0 F9 E, G: |  H6 y- H4 s) B  N
  513. STA $0705,X& z4 [7 s. i& x8 D
  514. INX3 T6 |3 q, L) K( f1 }% p
  515. LDA #$00
    + r: A, b: Q) @  c( F" x
  516. BEQ TEXT01_W, v! j  ]( ], Y/ k+ f  ?
  517. TEXT01_START:
    . O* @% }: y4 `! S1 J1 V0 a
  518. JSR PPU_START
    ( ^2 d2 m- A: T$ Y; ?# I  I; X, @
  519. RTS
    8 w% N4 T' @( l. ^
  520. 5 K4 N, c- f# }! g) p8 i; Q

  521. # G' `$ O+ V2 B+ \% _0 i
  522. COLOR_DATA:
    % E  N3 X( N( |6 T: d; O# x
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$289 O$ |4 w1 T, d- @$ ^+ ?6 d

  524. 1 E/ C6 R) ]* p/ U8 `
  525. P1_PPU:
    - B0 w9 V8 L% r. J3 \6 U
  526. JSR PLAYER_01_PPU9 Y; N. \, F+ a4 F/ [0 E! \: _
  527. JSR $CBC00 \( T* M' k* \% M% |
  528. JSR RELIFE_P1_PPU* g5 D& _% U' K! o0 I0 C5 s9 u' ~
  529. JSR $CBC09 w0 F4 z& A4 t4 z' q/ i, R
  530. JSR RELIFE_NUMBER_P1_PPU
    . k" I# @% \9 b) f! {" B9 \
  531. JSR $CBC0
    3 N' _: S5 ^, V9 a
  532. JSR WEAPON_P1_PPU) T* a0 ~, Q% y8 v1 t
  533. JSR $CBC0
    2 w5 N9 C/ [; _* P' }
  534. JSR BULLETPPU_P1_PPU
    3 P  ^  T1 l& r4 P; {& a
  535. JSR $CBC0
    7 g1 R7 Y$ w; }* R* K. G
  536. RTS0 L/ W! h) ]" H/ X( e, z( q  p
  537. 1 Y, G% U' l7 O) ^
  538. P2_PPU:) h# E4 B, |% f1 l% s
  539. JSR PLAYER_02_PPU& h; t3 O) k& \; D5 V+ Y- R
  540. JSR $CBC0
    - T8 s% L" b8 W
  541. JSR RELIFE_P2_PPU
    3 V# ?5 O4 z8 @6 _' Y7 _9 B0 R1 X8 D
  542. JSR $CBC0& I2 c) [  a. ~) v
  543. JSR RELIFE_NUMBER_P2_PPU! t; \; ~% g' l  V: B. [4 ?( G! b
  544. JSR $CBC0
    & u9 m* M* `2 r) r( f) Z/ L' \
  545. JSR WEAPON_P2_PPU  p0 u6 n- n$ _) k6 [* C
  546. JSR $CBC0* Y& W4 \6 c7 c
  547. JSR BULLETPPU_P2_PPU
    2 A3 A  O$ {$ l2 Q& \+ S- r  \' t+ J
  548. JSR $CBC0
    $ v& W. X  I) c! [7 }6 N! H
  549. RTS: u- `; Y5 R* \1 s8 _, B; F2 o7 |
  550. 4 ?6 J4 N0 I, v
  551. / V. a, \! m$ Q+ g4 J
  552.   [; X+ N0 g+ P8 A6 _
  553. PLAYER_01_ADDR:9 M) D+ L3 t% |; I9 J/ f
  554. .BYTE $20,$A3
    9 X7 p! b  E+ x6 J; G
  555. PLAYER_01_DATA:
    2 l! r& l& |8 H5 m& H1 U+ Q
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND
    & j( p+ ?; l! [' s; Y4 _3 N
  557. PLAYER_01_PPU:
    $ N6 ?0 j3 s! C/ Q! @  e
  558. LDX #$00( h  C8 K0 @3 `. c: V1 U  P
  559. LDA PLAYER_01_ADDR5 \- q& u6 Z+ \. w8 I
  560. STA $0703+ K# T" o# r; s( I9 K
  561. INX9 ]2 a- s$ t9 G3 U5 J, A$ b0 S$ B5 R
  562. LDA PLAYER_01_ADDR,X
    . L5 J: p* ?6 D; m) v
  563. STA $0704
    7 U0 ?, H" l+ A7 y% }# M4 W, p
  564. JSR PPU_PROCESS
    1 x* c2 o; o% x1 z/ }+ w/ b
  565. PLAYER_01_W:) ~) `6 J+ N4 s3 C/ ?
  566. LDA PLAYER_01_DATA,X7 W2 h- q: L9 G2 g/ ]0 W4 t
  567. CMP #CEND3 i) y4 R7 ?+ D" k  y1 K' S( ^1 _
  568. BEQ PLAYER_01_START
    8 v+ G, a' H+ Q/ ]' a& k
  569. STA $0705,X7 N& R1 p3 d% k
  570. INX5 _- L) w9 @$ T* h$ z4 @
  571. LDA #$00* Y4 v9 u- I4 `4 \$ p, s3 D1 S
  572. BEQ PLAYER_01_W; }) Q3 R& e5 Q. V; U; B6 _7 @
  573. PLAYER_01_START:3 ^0 |) m" _) G& W( {! v. b6 l
  574. JSR PPU_START
    3 b: B) q6 Y, B$ p; g2 i
  575. RTS
    0 F3 N% v% ]* k/ ~
  576. , z0 u, F# ^8 `/ u4 k
  577. 2 ]2 ~$ _- P0 Y
  578. RELIFE_P1_ADDR:8 L5 a) W7 Y) E) Z! x: R
  579. .BYTE $20,$E3
    & v6 v( O  J$ ~; L9 Q
  580. RELIFE_P1_DATA:/ I; K* O; o) N
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND
    / I5 }: T& |/ R2 X$ e/ ^) k' S
  582. RELIFE_P1_PPU:
    + L5 Y' s: z! E: G3 C* g
  583. LDX #$00
    4 z& Z2 B; R. G1 c
  584. LDA RELIFE_P1_ADDR5 a/ y+ m) }3 h" f
  585. STA $0703$ W) R1 ~8 E9 a2 o7 ^9 }
  586. INX
    0 X" w6 V7 ~1 ~3 y* U' J5 d
  587. LDA RELIFE_P1_ADDR,X, ?# I+ l* B9 ?2 V2 t8 u% q% A5 A" C
  588. STA $0704( ]+ Y6 C% a- t* B  _# e; L8 ^& w
  589. JSR PPU_PROCESS9 V4 F: M+ z- Y- I- w% }* J
  590. RELIFE_P1_W:* H! R- Q7 v7 ]9 J
  591. LDA RELIFE_P1_DATA,X
    , Y. X0 T: S' T$ W! X( q
  592. CMP #CEND* Y! X  H+ h$ @2 |: R
  593. BEQ RELIFE_P1_START
    4 ?0 [; q0 }- s
  594. STA $0705,X% G0 N0 E8 N* [2 M3 w+ I7 W
  595. INX
    + E5 K2 }8 n* l7 r
  596. LDA #$00
    7 H9 }) {! p6 ~4 c
  597. BEQ RELIFE_P1_W
    . U6 q% c% B4 g
  598. RELIFE_P1_START:
    / ]# k- x; M6 f9 v
  599. JSR PPU_START
    0 U5 {4 m) K' N. u- M0 m
  600. RTS
    8 f2 }5 o! o1 O

  601. 7 d/ u" T$ V7 X4 h& y% }& g+ M% ~, b
  602. ! h) S  T/ }2 b0 R1 C! A# @7 L
  603. RELIFE_NUMBER_P1_ADDR:
    ' ~8 B0 H' l. X7 f$ t4 q& W" K
  604. .BYTE $20,$EA
    ' \8 G+ N4 Z0 m
  605. RELIFE_NUMBER_P1_PPU:, ^9 F& m5 S9 ?( Z: R. z: @
  606. LDX #$00; P  c- {) B4 r! u, m9 h( T* x( b
  607. LDA RELIFE_NUMBER_P1_ADDR
    0 P* t1 b6 t7 ^8 Q) A& A
  608. STA $0703
    " B; z  M- e. N2 i
  609. INX
    5 I  t4 h" B( x4 T7 V
  610. LDA RELIFE_NUMBER_P1_ADDR,X
    ' C& Y3 O& l% P! U
  611. STA $0704* {% P; B+ I3 E  O# N
  612. JSR PPU_PROCESS# Z5 m  i8 W- L
  613. LDA $32
    ( d; j1 f' R8 H1 B- q+ {9 x
  614. JSR LIFETODEC
    3 s6 `& B8 X' S/ e* [; S0 F
  615. RELIFE_NUMBER_P1_W:
    % B7 _( E# A& I0 b
  616. LDA $7A03% N; h/ @* P( D/ k
  617. STA $07056 [# ~6 f# ]1 a5 ]1 _
  618. INC $0705
    : {) q+ r( m) P$ W5 G" `+ f5 g
  619. LDA $7A04
    ! C/ q0 h+ X, J; j
  620. STA $0706
    2 H9 S7 Z3 ^4 S2 s1 w7 I
  621. INC $0706$ _8 f4 _6 s+ E  F# i
  622. LDA $7A05
    ) J! o! c/ f! g8 n- m  p
  623. STA $0707$ A" W' J/ w) {5 {! Y
  624. INC $0707
    4 x  `$ V0 a4 G6 o7 S+ k: _
  625. LDX #$03; S' l, z/ J- g# M" W( J# u: R
  626. RELIFE_NUMBER_P1_START:& L$ Z& {  U/ Q
  627. JSR PPU_START
    2 k! G2 x% a+ I2 v. v  Z
  628. RTS
    # z8 V2 e& s* L6 G  e: B( A' [

  629.   D' U' M& f% {# y2 o9 n
  630. WEAPON_P1_ADDR:4 g! B* J1 D: I2 H, F  L5 f
  631. .BYTE $21,$238 {) P5 `# @5 W5 n. Y; d8 W; P
  632. WEAPON_P1_DATA:
    * O. G+ F$ {, C1 R; q
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND, J) e7 S7 \6 g" R
  634. WEAPON_P1_PPU:* V. Z& A* W( ^, J: z
  635. LDX #$00
    , n& m* i: Z- z# s7 \
  636. LDA WEAPON_P1_ADDR: D8 e  y3 }7 E9 `% s
  637. STA $07033 L# r9 q6 r3 m' l
  638. INX
    4 J% |5 q' y! I! O
  639. LDA WEAPON_P1_ADDR,X$ N$ Y6 ~2 b. I8 u
  640. STA $07048 b" r$ f. K7 s6 l
  641. JSR PPU_PROCESS
    ; t4 M( Y4 U* J$ l& h- Q
  642. WEAPON_P1_W:! X* U; I! `" @! Q
  643. LDA WEAPON_P1_DATA,X' D$ Q" z' x6 T9 P# b% Z
  644. CMP #CEND
    ; K9 b4 F! Y7 p+ L: \, l4 N/ {
  645. BEQ WEAPON_P1_START2 K' |+ z8 A0 t6 n" Z4 g; j: z
  646. STA $0705,X
    3 G' T% ?. R6 e: @% v
  647. INX
    + U+ c3 \' e* R# _7 x5 J
  648. LDA #$000 B( V5 K# R5 j. C
  649. BEQ WEAPON_P1_W  Z4 e/ v: f- h* [8 X  X1 j
  650. WEAPON_P1_START:) a' \' [  _( M
  651. JSR PPU_START6 h) U% Z& P) I  Q! Q8 }0 w2 c
  652. RTS- U# L! R+ i& c; ~  u" _! ^/ |" \. `" x
  653. 9 V% d. x1 T/ M" b3 u* L. X! f6 m6 q
  654. BULLET_P1_ADDR:  W* G- ~; H8 h5 @4 g4 H
  655. .BYTE $21,$2A! M6 ]; s1 }& Q7 M: d
  656. BULLET_P1_DATA:1 `. C- l, K3 e( X. ^  f6 V
  657. .BYTE $00,$01,$02,$03,$04* [/ m4 m( f. e/ H* }
  658. BULLET_P1_NAME:
    9 J0 i4 l# z6 r
  659. .BYTE CN,CM,CF,CS,CL
    / p! z& F- Q: X4 R4 @/ [
  660. 5 s1 c0 z; V! F# o( p, f
  661. BULLETPPU_P1_PPU:
    + D  q( l  L: M2 ^
  662. LDX #$00$ L, S# U- \9 S* X1 D
  663. LDA BULLET_P1_ADDR
    , O7 d  ?$ l' j: |4 d3 d$ j/ k; {
  664. STA $07035 U' b' _( F' d; d- l& K* a$ m6 q
  665. INX) H9 R3 J" E: r' ]7 O- d, I+ v4 n
  666. LDA BULLET_P1_ADDR,X
    , l5 }7 B* }3 [) R2 F( n4 X0 T9 I
  667. STA $0704
    * K6 p& [; e/ m
  668. JSR PPU_PROCESS
      ~9 ^( R/ g" _7 O, x
  669. BULLET_P1_WRITE:/ ?9 T' \3 o4 C1 ^
  670. LDX #$00
    6 R* S9 m4 [, R3 B
  671. LDA $AA
    + |4 j' ~+ ^; P6 j+ _
  672. AND #$10
    7 e7 s( f# L3 v8 f
  673. BEQ C_BULLET_P1
    5 D7 R. J, |, u. v3 r+ x
  674. LDA #CS
    ) ?( j9 d7 M: u* b
  675. STA $0705
      H+ T! ~, K% n$ u
  676. BNE B_NAME_P1
    : S1 j% Q( g; n. P4 _' w
  677. C_BULLET_P1:
    ( U& h$ \9 E# Z
  678. LDA #CC
    . t# w/ D% s; [9 I# W
  679. STA $0705" w: q9 T: z, f6 b4 @5 r
  680. B_NAME_P1:
    . w" u. V0 }, `/ {4 `2 i
  681. LDA $AA" m& X  m( R5 n: ]
  682. AND #$0F
    ; a( H6 v4 |7 i% `) p: `
  683. CMP BULLET_P1_DATA,X" R/ n& V* K( z" E" D2 E6 o* z
  684. BNE B_NAME_P1_RECMP
    . m, X" h: O1 f! O
  685. LDA BULLET_P1_NAME,X( T1 a% _7 J% y( w
  686. STA $0706) }! e6 ~' g+ ?5 |# t: z3 ]4 x
  687. B_NAME_P1_RECMP
    + \8 J( o. e+ T* L; G8 W4 d
  688. INX& A& k8 x( i1 v; V6 I, k
  689. CPX #$05
    0 K: u9 T& R9 c$ M, p
  690. BCC B_NAME_P1' p, o/ T" ^& O5 f7 p
  691. LDX #$02
    / g& B$ E# D, K, {& i
  692. JSR PPU_START1 Q- h3 L4 N9 p0 N5 n
  693. RTS
    & d  g5 S) s! q" i+ T0 L
  694. # D. K/ a" r) C  X& y! z
  695. 5 B+ l# C( |! B! c0 B
  696. PLAYER_02_ADDR:
    9 b3 d! ?, u! \* N; `  M
  697. .BYTE $20,$B3, Y; ^6 u! |/ U
  698. PLAYER_02_DATA:
    # r1 n# E6 S# N  {0 M. d# v
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    # B3 \' X0 J: _* ~3 j9 q  x2 q
  700. PLAYER_02_PPU:
    4 V' Q+ d& j- w, O: V; a
  701. LDX #$00
    % h$ [6 a- z" F# B# ^1 q1 r
  702. LDA PLAYER_02_ADDR
    3 Q4 c+ i9 j4 m' |$ H6 i0 @" k
  703. STA $0703& z2 m' o! g( A4 V
  704. INX
    2 |, s8 ~9 y* F" t* E% d
  705. LDA PLAYER_02_ADDR,X" M  n% F) ^. r
  706. STA $0704
    ' q" Z& w8 @+ ^. G5 O. s
  707. JSR PPU_PROCESS3 r# V& a5 b9 i* i6 s6 |; Y
  708. PLAYER_02_W:# g/ z/ X6 Z+ a5 m/ ~
  709. LDA PLAYER_02_DATA,X
    , p9 \, i# ?2 ?  N' o' X' v1 p
  710. CMP #CEND) Z! R1 Q* g* N
  711. BEQ PLAYER_02_START& \0 m9 y5 i" r# h
  712. STA $0705,X
    ) X% K' u# s( M7 h' B# |) v
  713. INX4 ^- p/ m6 O1 r' e+ L
  714. LDA #$00# w# e* m6 h- s& V9 H
  715. BEQ PLAYER_02_W
      X+ \( ?9 v7 D# K1 z
  716. PLAYER_02_START:3 B; ?( C+ Z" f5 Q. I2 ?
  717. JSR PPU_START
    - m! g3 ]* k( y& H1 n/ W
  718. RTS; v8 U( ?$ M0 K8 ]5 ~) l7 i
  719. # M4 x4 M0 @4 ?: ^. v' ]# q: K

  720. : }. `1 |$ a0 d& }. ~
  721. RELIFE_P2_ADDR:
    4 }/ A) T& u8 u+ v& Q6 H
  722. .BYTE $20,$F3) O! i  V$ z" c9 k, z
  723. RELIFE_P2_DATA:
    ) Y2 `; K. z! e$ A) o; _
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND* }% _8 k. _  }3 U7 w
  725. RELIFE_P2_PPU:
    8 f) ]7 B  u2 ?+ r: T
  726. LDX #$00
    $ h& \3 q: [8 |9 u( M
  727. LDA RELIFE_P2_ADDR
    0 Z0 s0 I- Q: I" f
  728. STA $07032 y6 I; P1 G8 ~2 Y; {
  729. INX  G+ S, z; m$ j1 m& p3 O
  730. LDA RELIFE_P2_ADDR,X
    8 W4 d, V6 T5 l: b- c3 ~$ T; ~# Q. {
  731. STA $0704  Z* K, D- P: `' ]2 [
  732. JSR PPU_PROCESS( R' r: Q6 I# a% m
  733. RELIFE_P2_W:
    8 E8 B  _# g) T& J5 T+ [9 |$ F
  734. LDA RELIFE_P2_DATA,X
    : ?: s7 t& n$ c$ Q% Z, n
  735. CMP #CEND1 R+ ]5 P6 ~6 C  ~' A
  736. BEQ RELIFE_P2_START
    0 O$ \% M$ q1 B- X# |6 |$ D( g6 [0 k8 s
  737. STA $0705,X- a, C2 o$ h9 S, O4 R" M
  738. INX
    2 c- s: z$ H) K
  739. LDA #$00
    * @5 u9 h0 J! Y/ l7 a1 v. @
  740. BEQ RELIFE_P2_W
    " Q0 v; b4 u- v! O
  741. RELIFE_P2_START:
    - M- L3 K4 Q9 g
  742. JSR PPU_START$ z8 b3 E+ v2 z3 a  S. c
  743. RTS  y4 u( c/ m, E- x" D

  744. + p  M5 x0 }* l2 W0 N! ^- I4 l

  745. 9 M6 ~$ d# `6 N4 k5 b, p1 k
  746. RELIFE_NUMBER_P2_ADDR:
    ' R. m" u; f. K0 i9 }
  747. .BYTE $20,$FA
    . g+ a! d( `0 D) N' [7 H
  748. RELIFE_NUMBER_P2_PPU:! }3 v0 N, e; T) {4 T) z
  749. LDX #$00
    6 |: ]/ A8 B6 W) t: S/ s
  750. LDA RELIFE_NUMBER_P2_ADDR
    0 _9 l7 D5 B; ]/ w# b' @
  751. STA $0703
    + P! \" y0 y6 j5 }) M1 P
  752. INX
    ' s: a8 M+ N# m4 x
  753. LDA RELIFE_NUMBER_P2_ADDR,X& t% Z, |# v9 j" k, \& W: \6 @; r
  754. STA $07042 {/ m9 A& W+ z/ w
  755. JSR PPU_PROCESS5 w8 M! S7 ]* i) A
  756. LDA $33
    " L/ Y& m' d  M+ k: L5 Z" z
  757. JSR LIFETODEC
    ! m) M$ W6 m4 F8 c/ z* [
  758. RELIFE_NUMBER_P2_W:
    # L' I. \' _. t1 `  a
  759. LDA $7A033 }2 c- d# ?; w* q. ~
  760. STA $0705' ~( V; g- {; ~2 I1 ]
  761. INC $0705
    . h2 g% u8 m6 }" y! |* |, D; L
  762. LDA $7A04
    , n9 Y; M, R8 a; c) T- o
  763. STA $0706
    ( D" H- x1 I+ H1 p: W) Z  F
  764. INC $0706
    + B" S) i6 r8 g: |* {
  765. LDA $7A05
    5 T5 Y2 M3 {! m) M0 n
  766. STA $07075 `1 j) l0 M4 s; b
  767. INC $0707% ?, E7 @6 N  q6 A" q  R
  768. LDX #$032 B8 \1 ^' X9 ]6 U3 q
  769. RELIFE_NUMBER_P2_START:  x2 S2 V- ^$ Z5 n  c
  770. JSR PPU_START% U- G, Z9 i5 A
  771. RTS6 O& H9 O' y7 v( _9 ~
  772. 6 U; ?" u: L5 t# n+ H7 \6 K% e
  773. WEAPON_P2_ADDR:! C# [' z6 `1 A6 s1 G7 B
  774. .BYTE $21,$338 a! f9 w) T: _" @3 L
  775. WEAPON_P2_DATA:
    5 H" |/ v5 \- f  J4 J4 H
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND, V* S  q8 Z! C1 n8 W: [7 H
  777. WEAPON_P2_PPU:( E0 H# L2 J, }
  778. LDX #$00
    ( B3 e! M! U4 m- p) ~  a
  779. LDA WEAPON_P2_ADDR
    ; D9 I+ c! h# Z" I1 F6 A
  780. STA $0703! q8 p5 |* T# W% }! [; W' G
  781. INX3 Z' [3 \6 m$ Y; j
  782. LDA WEAPON_P2_ADDR,X
    - Q4 _2 C0 n. |
  783. STA $0704
    7 U9 I& M3 s1 x
  784. JSR PPU_PROCESS
    # d7 }0 Z9 g5 z
  785. WEAPON_P2_W:
    & i1 {& k% E& ?5 u
  786. LDA WEAPON_P2_DATA,X
    & Z# @' L0 o2 i/ k3 j. e
  787. CMP #CEND
    2 u& n' Z: D1 C
  788. BEQ WEAPON_P2_START" n9 P) T5 i$ ]! x6 Z
  789. STA $0705,X
    , }- U% B! A( j4 n: _2 Q
  790. INX# r" \" _: S  g3 c$ j% U2 r4 ?" |" L
  791. LDA #$00
    . \/ y' t/ }* Y, M0 P: H& k
  792. BEQ WEAPON_P2_W
    8 ?) {7 W" [/ P* B2 b
  793. WEAPON_P2_START:: T4 H! P9 l3 t% [% C6 l6 E
  794. JSR PPU_START
    " K. |1 N. }2 a9 L1 |
  795. RTS/ P) \; P: G' C' @8 d
  796. ) n) p' y; o" ^6 H7 l/ W$ N0 `& U
  797. BULLET_P2_ADDR:8 Q4 D) q' \( {! s& U) K1 m
  798. .BYTE $21,$3A
    ; k& T% s: d5 v6 d5 {
  799. BULLET_P2_DATA:( z8 E8 f9 y8 O- ^
  800. .BYTE $00,$01,$02,$03,$04# t6 G: K6 `5 L% \- h( X7 V
  801. BULLET_P2_NAME:' ]; E; t/ h$ v# u3 x/ U0 u6 g
  802. .BYTE CN,CM,CF,CS,CL
    0 G; E$ _, w: T$ O( F" F
  803. ! z. g& u( Y$ J, b
  804. BULLETPPU_P2_PPU:
    & T* h2 j% Q6 U
  805. LDX #$00
    , s$ f1 B4 f5 j* }7 ^# I3 R5 Z* S
  806. LDA BULLET_P2_ADDR; b( K, @9 a' W
  807. STA $07030 ^2 y" g! g2 Q: c/ a% A  Q4 L
  808. INX3 Y8 d9 X, y8 i' E: H$ u
  809. LDA BULLET_P2_ADDR,X
    ) _3 j  t6 O6 O6 F/ e
  810. STA $0704
    " v* m* F. I& O3 e( |, ?
  811. JSR PPU_PROCESS6 }- `: L: y. }5 ?- y& G2 J
  812. BULLET_P2_WRITE:
    9 @/ `4 h. a2 g2 k
  813. LDX #$00  l7 E  n8 L5 {/ F0 R
  814. LDA $AA  J- `2 B0 q7 m- d) ?
  815. AND #$10
    6 a, W+ I2 [- a" H# w8 C( w
  816. BEQ C_BULLET_P2) h! C4 T$ B/ [- a* `
  817. LDA #CS; [1 L3 E" r; k: C9 M0 m4 x
  818. STA $07054 ?1 t; U( m) ]2 H- F. T5 u4 R
  819. BNE B_NAME_P2
    6 W+ I0 G# y4 x( H0 P% [
  820. C_BULLET_P2:6 A0 h& f( K2 g1 X* ]6 `; p( i
  821. LDA #CC
    / f, z7 _# K  e
  822. STA $0705' s1 r- u3 Q3 H8 i7 E: Y2 B. b! ~
  823. B_NAME_P2:
    ' L9 }& K2 ?5 q; A# B. f
  824. LDA $AB
    % r) Q4 s2 h( c2 ?8 b3 H' ]" |
  825. AND #$0F
    ) i1 b8 k( l/ {* F
  826. CMP BULLET_P2_DATA,X$ J/ l8 `5 H% M6 E$ ~, _1 z
  827. BNE B_NAME_P2_RECMP
    / f6 a0 y) l6 i! g# F6 }" c
  828. LDA BULLET_P2_NAME,X! I9 C9 c: ~. D% R/ L: p+ }8 q
  829. STA $07069 J9 \" o- H% |, D0 {$ m( E# L
  830. B_NAME_P2_RECMP% P' T. `) n, }* e
  831. INX
    ' X$ Z. D2 `$ v( F" w5 @5 Z
  832. CPX #$05
    6 [, A# z# D1 I% J8 [- V
  833. BCC B_NAME_P2& c" o: ]8 {4 F9 x
  834. LDX #$02
    / I, U$ _5 g  s( f0 @0 Z9 }8 V
  835. JSR PPU_START
    * J. {! l4 H/ F, }, l* c8 W' P
  836. RTS6 v( @6 N# g8 K/ x( K7 e/ S
  837. # v$ _  N4 n# H' E4 G# [
  838. $ v7 ?1 k9 K6 z$ }- j+ f8 |- C& |

  839. & N7 H9 A7 O  X( b

  840. + L/ f# y9 g8 o/ z" `' D- P

  841. + p# i, H; M# D, B8 U7 z& O- g

  842. 8 W- X$ ~1 f3 B' M' e! d, C
  843. LIFETODEC:                ;十进制转换
    4 N, x; _) u/ a* f
  844. LIFEL1:        ;initialise* L: p+ C8 p/ E. a' Q; X- q
  845. STA $7A00        ;$7A00=F3- g( A% C* s( ~) L( a6 M  o1 e
  846. LDA #$002 p) T/ o, ~( B/ {
  847. STA $7A03        ;$7A03=00
    5 Y6 j" w+ Q5 h; p; J" M
  848. STA $7A04        ;$7A04=008 x; E/ x! n% m5 ]0 o* r
  849. STA $7A05        ;$7A05=00  R' }- M, w6 v3 M# a
  850. LIFEL2:        ;copy data $7A00 to 6001
    4 x  M0 d' T! T  t/ ^0 j
  851. LDA $7A00
    8 S) t* V; A% L# w/ ?
  852. STA $7A01
    9 `& |  V+ R1 Q$ E

  853. & j$ d7 g; J3 g
  854. LIFEL3:         ;hundred6 Z8 p* k. r: q) _& Q0 h1 Z1 p
  855. LDA $7A01) H) q0 c; {9 y! c+ ]- R
  856. CMP #$64
    9 V" F1 ]9 y9 z. N" [
  857. BCC LIFEL6                ;$7A01<100 goto L6- _+ _; d. O% Q' p' R+ D
  858. LIFEL4:
    7 ]. J) @/ z& |9 p; H
  859. LDA $7A014 O) i7 O5 Y  Z# |& |9 b# o
  860. SEC- Y) ~! p: ?: `( e9 _4 v
  861. SBC #$64        ;$7A01=$7A01-100
    7 p% s6 y6 Q3 d9 g
  862. STA $7A01! o/ M9 g7 o1 v% B8 u4 m* b
  863. INC $7A03        ;hundred++, `2 i4 Q9 U0 ]1 o) F
  864. LIFEL5:
    ) {2 @# M2 s0 P
  865. LDA $7A01
    / }8 B* L6 o' ?9 R/ p$ K5 O5 G
  866. CMP #$64
    $ M+ i3 u) X; ^. S+ A
  867. BCS LIFEL4                ;$7A01>100 goto L4
    1 U# S7 f: h, e" Z1 g0 b& `
  868. 6 r, f: j1 C! @0 D
  869. LIFEL6:        ;decade
    6 p- i. `( G, d) T5 j& ~
  870. LDA $7A01; y# V5 Z/ M' I$ u5 {/ R8 b
  871. CMP #$0A% g' l, p6 {9 A" [  Q9 m
  872. BCC LIFEL9                ;$7A01<10 goto L9
    , A, z8 H2 a5 b8 t2 i& X/ Q
  873. LIFEL7:        5 h; G3 b9 B% P6 X( Z9 w1 P( c
  874. LDA $7A01
    1 Y: m% O. L* s8 N8 x1 v/ ]0 A
  875. SEC
    % U* X/ M6 h# c& X4 f/ D3 c& ?
  876. SBC #$0A
    4 n8 `$ H3 a1 G3 {8 j
  877. STA $7A01        ;$7A01=$7A01-10
    ; u5 R" {4 g, Y# N( P- X( r
  878. INC $7A04        ;decade++
    ! y" E- F  J" m  O
  879. LIFEL8:) d2 C& M+ M6 h1 G* c
  880. LDA $7A01
    5 W( M. n, K% L* q
  881. CMP #$0A
    9 t- ^2 A: m% J; A. r$ C0 \9 r, b
  882. BCS LIFEL7                ;$7A01>10 goto L70 G; K/ j7 W; I/ D# A4 f
  883. ;unit5 n4 ^! ]2 Y6 H( m3 E6 R& j/ M
  884. LIFEL9:- I% o5 u1 o+ V. I  J
  885. LDA $7A01        ;$7A05=$7A01. ?2 G, a6 w9 S+ z1 r) {
  886. STA $7A05        ;unit/ e4 t* N# f! {$ |5 _
  887. RTS        ;return
    + Q3 h& D9 y- @  o% V
  888. ( L3 V) g- l% e% h5 v( q2 ^$ L% e
  889.   R. ^3 M: V$ k4 h
  890. % ]+ v: |5 S- i4 |. i' p/ N
  891. PPU_PROCESS: ;PPU地址处理程序
    9 M! X- a4 L+ c- j
  892. LDX #$00
    4 e$ c% y% a: z4 E! K  V7 H
  893. LDA $FF  {$ `  r+ u* d( v3 ]
  894. AND #$01' r( Z1 o: r8 R* c, k
  895. BNE PPU_2400_27C0
    ( Q; q5 J, F- O
  896. PPU_2000_23C0: ;命名表1
    ) d) P3 M  @( U& F
  897. LDA $0703
    / p7 i9 ^0 q' n0 e' o& u
  898. AND #$FB
      q, l; X( ]  v$ e
  899. STA $0703
    ' n! I, W; e$ C2 F$ b8 I# N, Q! b/ c
  900. RTS/ l, o1 J1 {/ g, q
  901. PPU_2400_27C0: ;命名表2
    9 L1 q' c; G/ W5 e2 K1 B; C0 ~
  902. LDA $07031 H: P2 M+ o3 @# V; s& v( f
  903. ORA #$04
    * `: |! a. h, y$ W8 ~  r7 |
  904. STA $0703! S& i) M2 L& T$ s; h' n
  905. RTS
    + C6 [$ {* r/ p- D$ Z; ^

  906. ; B: Y+ [' d- G* s9 [  u+ J4 W
  907. PPU_START:  ;PPU数据写入
    : }: [, Y2 C% \* q( n6 M
  908. STA $21! Z' c0 P1 G& ?, V2 A# Q
  909. STX $0701
    9 t, O0 D# T9 `, I+ n+ I; E
  910. LDA #$00
    9 W( i& h6 A2 ?. A; D
  911. STA $0705,X0 v( f6 K* q4 ~
  912. LDA #$01$ b+ |6 \& r( ~& M9 y% p) `! q
  913. STA $0700
    $ V9 Z' F: J  V9 q
  914. STA $0702  D5 ]6 j) Z- I- `3 u
  915. RTS
    8 G6 r1 m/ A1 G" F5 I

  916. : Q& h$ N+ I! }3 T/ q7 E/ J/ N( O7 C
  917. / ?' z. v$ {! t$ D* l/ z
  918. 4 A: w# {7 }- B" h+ y/ s- Z5 H* l

  919. 9 O+ A( `4 E4 ]: i6 L. _4 ?

  920. & ]( c8 ^5 b7 o% A  ?: v% a. M

  921. 9 u- w0 ?1 @, [7 A" X: O4 s
复制代码
  d! m! E$ d" Q9 e

本帖子中包含更多资源

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

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

签到天数: 2139 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!2 |  ~9 Y, d1 N4 l0 F; H, q1 I
回复

使用道具 举报

签到天数: 2549 天

[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-3-17 17:21

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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