设为首页收藏本站

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序1 {- R2 U. ?6 h' u( U$ t5 i) j
  2. 作者:FlameCyclone
    % S7 W* n, B" y  o! N/ g6 k: J2 s
  3. 时间:2017.2.12
    6 W' u& P+ @: n

  4. 3 D; |/ }4 V/ p1 M3 ]4 U
  5. 按键跳转:  k% P0 ]* b! H
  6.         C1EF:95 F5 94 F1
    ) w& q2 ~0 A9 T' Y( o1 ]
  7.         C1EF:20 70 FB EA
    $ j2 ~- V: M6 O% e* _; E
  8. 0 N1 h- P: q. b" G
  9. 滚动偏移:# \2 \: A" x0 E1 L* u9 d1 i
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 204 S% w% k( l2 E% p! u* l" \. S
  11.         F936:20 C0 FB EA EA EA EA EA EA EA! a3 F  B, c" O" A9 X0 X& N
  12. 7 m0 S& L) V# t, {) Y! \
  13. 背景调色板:
      c* q9 x' R5 x7 t- W
  14.         CF20:9D C0 077 n3 C: E. @  j1 H
  15.         CF20:20 A0 FB7 b3 j! J1 k3 Q( e$ U
  16. ' e& Z" _" L4 @7 C% n+ @( ^
  17. PPU BANK号:
    - j8 f5 J7 F( U$ x
  18.         C8C9:9D F4 07
    + U1 z& K5 I6 Q
  19.         C8C9:20 B0 FB, {# E2 b" Q1 e. R

  20. + G$ G8 t3 a" \4 R5 N3 y: S
  21. 按键跳转:0 `) K* h% o5 ]5 f
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    # U3 G# Z7 v: D* P
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 209 a6 [$ h- b2 u4 B
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF
    ! P) |1 C7 g8 Y4 M7 |' I

  25. 3 v! Q3 G9 z. p% _! E9 |$ ?
  26. 背景调色板:
    ! }/ N7 R) k2 L1 y7 l1 l% m
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF+ @% h% s. L  a0 `8 U

  28. " S/ O6 A( c, O
  29. PPU BANK号:( }* j$ ?" @" K
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF: b2 N6 g: f5 f3 N

  31. 9 b+ P4 B" u& V' ^( V( R0 z
  32. 滚动偏移:# r+ j  B; S2 T( P
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60
    1 V/ v" ~2 Z0 S0 V( h: n6 M8 }+ A
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    & f8 n& S- x: f

  35. 2 p0 j* h% B( N

  36. , ]$ W0 ]4 w. l$ I% ^% x% ^
  37. 切BANK后A000:1 q6 J% ?  k" f1 _* L4 G
  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
    ) o$ J. v& O4 `+ I% S0 k
  39. - j/ E- w* _# O$ ~8 ~9 D' A
  40. ' D" R4 S0 Z! c+ L3 \/ s
  41. 6502 simulator:* M8 P7 t4 H/ A8 x8 v/ x/ n
  42. PPU写入程序:- ]' m3 y  j5 b! b! ~* l
  43. .ORG $A000  n/ z" W' P+ @! g
  44. CSP = $80, e  l1 C: {2 s' D: A  T  e
  45. C0 = $81# s6 r# A0 e, E" i
  46. C1 = $82
    ! X9 J6 b1 X1 W) ~1 J! d5 w* F
  47. C2 = $83
    + W9 w/ D! n6 n$ m% L! i) I
  48. C3 = $84
    1 l6 z3 @- r' }; o: |% K
  49. C4 = $85
    ' O6 h& K; p* i
  50. C5 = $86( _! ?) d1 h+ ?; X4 B
  51. C6 = $87
    ; K- N" n! e0 X( k6 V5 q8 v
  52. C7 = $88
    * _6 q5 S+ a; M' d% j: i
  53. C8 = $898 ~0 w2 k6 g9 D: P# j
  54. C9 = $8A
    ; C; J# a  e# w3 d
  55. CA = $8B
    ; h2 O6 [0 F" [) T
  56. CB = $8C
    * d6 {" ?  \4 }% F; ]& J  s8 G& J
  57. CC = $8D! b3 x3 L/ p, x+ U# Q4 ^. O
  58. CD = $8E/ L% j0 R& c: P
  59. CE = $8F
    ( h) Q; {. J' x+ f( P; H
  60. CF = $90" x8 t& d) _) Y6 h
  61. CG = $91
    $ m' y1 {* u; k. K! F
  62. CH = $92: ^7 j- K3 Z# `$ e
  63. CI = $93
    1 a0 V' A$ j7 J- V) L( A* H
  64. CJ = $94
    2 n4 d6 b" h, |9 M, N3 y, Z
  65. CK = $95
    4 M8 D0 w. F8 J9 M+ s
  66. CL = $96. H; G0 l/ L* A" x5 A
  67. CM = $97  }6 j0 V$ h$ m$ f+ N
  68. CN = $98
    7 t0 {6 i% ?: U1 X) J" o% A
  69. CO = $99
      D+ `% L2 l$ \2 H% C
  70. CP = $9A$ U1 a# y* d5 V4 h7 j0 a, O/ g
  71. CQ = $9B! i) d4 ?( ]! f9 u
  72. CR = $9C
    8 ~% o, w& i: j9 f6 ?& l) N
  73. CS = $9D0 m  z6 D1 i; d! h% D1 A$ T
  74. CT = $9E
      a4 W1 h, J* q# G7 X7 f+ l
  75. CU = $9F
    , K, |+ W5 ?/ v4 ]0 K9 {2 A: U2 O
  76. CV = $A0! M) w2 |; S" P9 S3 Q  Z; q
  77. CW = $A1. ?) h; g- ?+ S( \% k! g
  78. CX = $A2
    3 O, U7 Q" ~/ K
  79. CY = $A39 d* Q4 }  @0 ~, b/ b5 i
  80. CZ = $A4. Q/ r- B; N8 v4 _. x) b: F# W1 B
  81. CEND = $FF
    + a0 ^$ b- H7 ]" A4 {+ l) W

  82. ) X( w% B8 s1 X7 `# [
  83. 2 y- N$ K, J+ S/ W, |
  84. CMP_RE:2 D) J+ }. H+ E7 x5 f+ n/ Y
  85. LDA $FF( o5 Y0 S) x8 p& Y9 L; Y2 L
  86. AND #$7F! ]8 g9 ]( R# n0 x
  87. STA $20008 ]7 e3 }& m  i) O# P
  88. LDA $2002/ M; U/ w9 V- U
  89. LDA $25
    2 s. [/ y& |* \* M
  90. CMP #$01
    5 i# i* X1 ]; c* r. m; o9 ^
  91. BNE PROREG8 s. a  a! f% S
  92. LDA $F5,X
    4 C$ ?* }( ^1 u0 x
  93. AND #$CF
    - O" Y8 {. q9 N; c! I3 D' p
  94. BEQ PROREG# K6 @- o: E+ p% t5 d/ ^
  95. JSR PPU_CMP
    % y0 H# H1 @2 Z" G' A$ D) r1 U- n
  96. C_RE:! N1 p" {, H( u7 `# q
  97. RTS* g$ t) q1 T4 f( |
  98. PROREG:
    7 b3 W% z9 V6 i! u6 M: v  a( [5 G
  99. PHA4 y0 m( t0 d+ S
  100. TXA( x. h; o( t  A( [2 ]
  101. PHA
    . \4 l$ I3 k4 M6 n
  102. TYA
    : j, T3 ^4 I2 @
  103. PHA
    2 L' s: w) G0 n* |  _6 ^
  104. LDA $25! \) n# R% {1 l; q' z
  105. CMP #$01! e+ Z7 |* Z6 E% I# Z# ?! ^5 Y% ]7 W
  106. BNE RE
    8 ]( u+ m% j% W+ p" g
  107. LDA $010A- ^7 Q5 v! S" M: P6 v
  108. CMP #$00$ A# M( k; `* U$ B
  109. BEQ P17 A; h2 v, h, T3 ]3 H& a
  110. . I$ ]* P5 W: X3 Y& b
  111. RE:
    " o: Z$ i+ y# r5 z8 x; y5 `
  112. JMP PPUWRITE1 U  ~2 l  Z" x& [: s

  113. " ~- ~% {7 t; r8 L& T, {8 v
  114. P1:                ; 条件判断9 f' D2 ?, S( B9 n" |& Q* z4 u
  115. LDA $7FFF) W: w+ c! r: `$ l7 ?, |: ]
  116. CMP #$FF: H9 \3 O; m) ?+ e7 i
  117. BNE P1RP; L  L- }+ [2 o4 l2 y
  118. LDA $7FA01 g* b* L6 J. v9 k- ~: Q; [
  119. CMP #$00
    # ]9 O1 }1 }3 h5 |
  120. BNE P1CMP
    ' K1 P; x3 L& q6 L+ d/ \* p. j6 C
  121. LDA #$FF$ C- E# t  V9 I0 g& M7 b
  122. STA $7FA08 i/ n) B+ l! ~8 I
  123. JSR CLEANA
    1 Y2 X3 J* T% F8 V7 g
  124. JMP PPUWRITE
    5 C: t+ O. |+ J1 v  R& h( l' f
  125. P1CMP:
    1 ~7 x! D0 U0 l/ m. G
  126. LDA $7FFF4 g( q' j0 W! {: D2 L
  127. CMP #$008 }  w3 x, \9 J6 C1 \/ Q# V7 E( U
  128. BNE RE
    ) @3 H- E" S8 F
  129. P1RP:
    0 A8 R6 i( y9 r- k; b  m+ n; H
  130. LDA $2002
    % j* m+ ^+ Y" d/ U: k, a
  131. LDA #$00
    : [2 s4 A4 Y: ?( y# C5 C; g( Z
  132. STA $2001' c5 o  U3 G* ]3 q
  133. LDX #$00
    2 W7 n6 G* A3 c6 J
  134. LDA #$FF4 E$ k2 Q' n8 ~! a  `7 P
  135. STA $7FFF$ E8 n/ z( f7 [- N: k; l  o
  136. STA $7FA0
      K3 h7 I1 R) ^' ?/ U; _3 ^
  137. JSR COPYPPU
    - v5 k1 ^3 r' ^8 {
  138. PIRP2:
    9 T- {0 y! \3 N! W. f6 {
  139. JSR CLEANA
    - f! {; R6 _: d
  140. JMP PPUWRITE9 b7 T+ K& G( J6 a0 i1 I; q
  141. 1 y! x0 @6 B% [
  142. COPYPPU:6 k  C6 M6 i' O
  143. LDA $FE# G& f5 `: G/ D' j. k
  144. STA $7F505 ~* N6 K# m/ E
  145. LDA #$08, ~% }9 Q1 B* w2 Q8 _' V, ]
  146. STA $FE
    * K" R; p4 x7 z6 c; K
  147. L0:7 Y* j& T) k! X
  148. LDX #$00
    # k( o6 u/ Z! o% |: G4 U1 Z
  149. COPY_07C0_07DF:
    3 u. S' \+ ]5 z
  150. LDA $07C0,X
    & ?7 z, ]2 Y% S7 C7 r$ K1 a7 G
  151. STA $7F00,X
    2 `" P* Y1 Q1 }# w" h- B
  152. INX
    5 Z! P* E8 B) V3 _; |" D
  153. CPX #$40
    - w& ~5 v# C# J3 ~: f2 r. ?3 s
  154. BCC COPY_07C0_07DF
    $ k5 `# B! G4 i8 H% F
  155. LDX #$00
      J! J$ D2 P" \
  156. PPU_07F4_07F7:& L6 ?, d6 O0 e# q1 d8 U
  157. LDA #$001 s/ c8 D. [  M: R
  158. STA $07F4,X
    ; L) l) _( i' Z( [8 [' T
  159. INX. a& X$ O# s! `
  160. CPX #$046 n  ]: G9 p* ~/ u7 \
  161. BCC PPU_07F4_07F7
    4 V1 p8 Y+ H% L7 K7 a7 x
  162. LDX #$001 N9 ?3 @' b% M" |
  163. COLOR:
    ; {; W" T7 o2 J0 t
  164. LDA COLOR_DATA,X
      V+ ]8 U" S# K' F. f- H
  165. STA $07C0,X
    / t7 g8 h! I; S* p7 t/ u9 {
  166. INX) B8 }' F7 }/ a2 j* X
  167. CPX #$10
    ! d! [! s4 [) [% z
  168. BCC COLOR
    # ^4 x5 j) O* {1 l9 e
  169. 6 ]& t/ Y1 T/ H+ d/ U
  170. PPU_COLOR:
    - k& n% ~. n3 V: p& ^
  171. LDA #$3F  t/ ~6 Y9 p" [8 g+ k8 L4 W& C
  172. STA $2006+ F! l1 [0 y) E& e+ `" ~2 p$ z
  173. LDA #$00
    3 [. z) q6 M* c$ T8 r
  174. STA $2006$ O1 e  z7 j' g4 H" }4 @
  175. LDX #$004 p6 I7 c+ r* K$ W
  176. PPU_COLOR_W:( {# h2 j3 X1 @9 Z- N  I3 w4 D
  177. LDA COLOR_DATA,X+ C5 k; p' k$ y8 k  q3 V
  178. STA $2007
    ' O/ U2 |' L+ y
  179. INX
      l' \) g6 H- K
  180. CPX #$10
    / ]( c3 ~( ]! J& }7 D  C$ y
  181. BCC PPU_COLOR_W( j4 {, s9 ?+ `' m( [! R) \! m

  182. & }# T. W* B+ o2 C( o- E7 n% j
  183. . _3 f0 N* m2 ~, N7 f
  184. LDX #$00
    ' {5 o& \: A5 L3 d7 ?0 n
  185. LDY #$00
    9 f( }& R2 g2 k8 S1 Y3 v0 y
  186. LDA $BD
    . [) E7 e* a5 h/ x
  187. PHA* S7 [# q9 q* T1 B2 ~6 f0 d  }
  188. LDA $BC
    ! P8 L: h- h2 m6 i/ t+ H5 H- f. C
  189. PHA
    6 ^1 t, Q/ A& j- f! x7 K/ L& l
  190. LDA $BB
      H+ ~  r; b2 L# J8 }  u% S
  191. PHA
    0 B  }0 d3 l' C) n6 r3 g2 A3 T
  192. LDA $BA7 S9 n9 L- z) ^
  193. PHA( `( M/ e. D/ Y) a! c" [
  194. LDA $B9
    - n. z( b! l3 k4 Y. a6 ^" E! ^
  195. PHA
    7 e4 S! V# E( y- ?! q0 k
  196. LDA $B8; t# o4 v( D' P0 e# S5 T) V$ Z/ `
  197. PHA
    " R4 ]8 s) L  [* I1 V3 H
  198. LDA #$002 L, j1 K$ `; X- P8 P# S
  199. STA $B8
    ; I: M2 l" W0 d: z6 x: L3 h! J$ t
  200. STA $B90 x8 f8 h5 A8 ~+ K! }0 x6 `9 [
  201. STA $BA
    , a# E* `/ l" ~- |
  202. STA $BB  Y! e1 g8 m- o7 c& P/ y
  203. STA $BC% L% W$ o' P' Y# @$ k
  204. STA $BD4 v) u6 G+ y1 X# n2 C/ ]" m+ x; [( o
  205. LDA #$00
      F) @- s& ]: q$ z( L+ P
  206. STA $BA
    # P0 m7 a3 G/ n- V' W/ }
  207. LDA #$20# p' t: Q  W( y. N* R! X) s
  208. STA $BB
    8 V. |- K7 A' ~
  209. LDA #$00% |1 f8 H* Z$ l0 [1 \. K* Z5 y
  210. STA $BC
    8 x& ?2 Q  m8 x
  211. LDA #$60) U( G8 i4 W1 m! o2 e
  212. STA $BD* v1 _0 {3 o- R( G; y8 z

  213. ' k* P/ [4 ~4 c, f0 g
  214. L1:                ; PPU复制
    # A  _2 p& e3 W( y* Y* W
  215. LDA $BB
    0 o" d0 t( e6 p& p6 A  F5 F
  216. CMP #$28" j$ ~% I* R* e; o( `5 ^) U& \
  217. BNE L20 v$ y0 ^$ v& I0 v2 x  e! D& W( u  a
  218. LDA $BA6 ?# T4 |: ~; ~
  219. CMP #$00
    + b8 X* Q; H- k
  220. BEQ PROADPLA
    % n  i; s6 N/ P

  221. ) `4 c, u2 U" t4 G# {+ P
  222. L2:3 t  F4 V& d# ?7 X" Y8 e9 {
  223. LDA $BB
    0 a8 q5 [6 t' j) Q* `# A* f' m0 J0 Y
  224. STA $2006( I& j8 y; T; W  H* J3 f
  225. LDA $BA
    7 S9 p, s+ o- x
  226. STA $2006) [1 M% H5 P) A# P6 @
  227. 7 [; t* G7 r" R* {( S5 Q
  228. L3:3 a! J4 c$ J6 C( W/ p/ a
  229. LDA $2007
    + k' D9 s& |0 _* l3 R
  230. LDA $2007
    8 j' B% H" K% t! y& a
  231. STA ($BC),Y
    ; F8 I4 Q/ D5 @+ R8 I

  232. ' S2 \3 U% B, l$ D! N* _  t/ f6 y
  233. L4:
    4 v2 C- r- @/ }2 P% Z$ Z: f
  234. LDA #$00
    8 ^- X6 @! c: w" _5 S7 U8 c' H
  235. STA $2000
    3 D# m3 N$ u, w' }
  236. INX( Y; j# [' t- ?8 S
  237. INC $BA# f% o1 ~, b, Z6 p  ^( y8 E! K1 ]
  238. INC $BC; T% z0 H$ m9 S0 C+ c" K  ~) [8 `
  239. CPX #$009 `( t& S/ n% U9 H7 K* Q; t
  240. BNE L1. o- ]- V, b) v* R
  241. INC $BB
    ) U) }1 `( ^3 H9 v  u0 {
  242. INC $BD
      `  i" Y! Q* n- j
  243. JMP L1; S$ Z& J! S- [0 ?

  244. ( s% |7 L8 W; ^
  245. PROADPLA:                ;出栈# z  G" F8 m2 Q3 K6 C
  246. PLA
    & ^# U& C) v' L# r. b
  247. STA $B8( b2 I+ d9 D1 U2 x; v
  248. PLA( H* [- o  Q: D- M# m( N7 v' C% p# ?
  249. STA $B9
    1 ?# e. Z' _5 G. q) Q
  250. PLA
    $ ]# }/ `4 Q: R. d, A, I
  251. STA $BA
    8 O7 u- z7 X8 [: a
  252. PLA
    % J  v% Q  k0 c' x0 K
  253. STA $BB
    ; T! H) i; W  E$ U) ?( K
  254. PLA
    9 m4 q+ f! g1 \, p$ j% ]
  255. STA $BC+ R( W8 d& y: j( a- ]" W
  256. PLA
    4 L. e; b5 [, E; p
  257. STA $BD
    $ H* O( K5 a) x) y' Y
  258. CPRE:
    % @! j, p* G% \3 L
  259. RTS$ V7 g0 T; X* n  o8 A6 o1 |2 |& I% w3 |
  260. 6 u8 t, a$ O- r5 J5 |
  261. CLEANA:                ; PPU清空
    ; M) v9 R  H* ~+ p8 D5 z/ j
  262. LDA $BD* e5 _& N3 H$ r8 }, b
  263. PHA$ D  _5 c- ?4 X+ U9 `
  264. LDA $BC
    / K: K- _8 X" a, o5 a. j% i/ P: f$ J
  265. PHA& p0 ~0 r. d7 G: p( w/ Z$ T* T% @
  266. LDA $BB5 ]8 O% k% `8 p7 S/ k  j
  267. PHA
    0 z/ v2 c0 ^8 ~- H; f
  268. LDA $BA
    * e7 Q. ~& z$ k( p+ O
  269. PHA0 V) M" f7 ?! D$ L7 A" D
  270. LDA $B9! j8 l+ ]- l% ]% Y
  271. PHA
    4 g- T. Q* I. q& i- u
  272. LDA $B8
    - w4 n# ?( g' {' y
  273. PHA
    2 c! f- j! s1 b1 h2 j, H
  274. LDA #$00
    ; C7 m& w  |7 o% X/ N
  275. STA $B8! R  y, p! g9 p9 k
  276. STA $B9+ D' P. d9 V" q: y; }
  277. STA $BA! p7 e* B9 s* M3 F  x
  278. STA $BB* @% G' }! k9 a
  279. STA $BC
      M- D7 J% b% a, t# S  L' T' B4 ^
  280. STA $BD! f; x* V! P6 p* I! D% C
  281. STA $2001
    * D6 `( d1 b( c& _( D1 ]. d/ t8 F
  282. LDX #$00
    9 V) {5 f& u1 l2 g7 z: p( u
  283. LDY #$00
    ; X0 Q# b% M: e9 x7 [: W6 d
  284. LDA #$009 R' g& `% h* v
  285. STA $BA" ]6 t: m) ^. b: C
  286. LDA #$20& |8 |2 j; Z. i  Q  M% R
  287. STA $BB
    * m( C+ b- s  U: n; v. H) ^, |
  288. 3 S, S/ E  V5 i5 b8 S1 ]
  289. CL1:0 s3 D; x: K: v# l* ~; }0 q
  290. LDA $BB
    % {; U2 F1 D5 M+ ~# O$ k  c
  291. CMP #$28! E* U! `  V( Z% U  b7 Z* g6 H3 P. X. x
  292. BNE CL2
    3 @; U* g0 S: S  Q. X8 _1 c3 r
  293. LDA $BA1 b; R1 o9 j; A
  294. CMP #$00
    4 D  D1 r0 q' N# n
  295. BEQ FREEWRIYE2 H  I1 ^. o  W; H  t  H- H: [

  296. # r1 o! m, i. B) N* S
  297. CL2:
    + J/ E% q0 ?, T  r
  298. LDA $BB
    / P  _+ |) F, }2 X3 o
  299. STA $2006& Y3 I6 t/ D5 K0 |# p
  300. LDA $BA
    4 Q( y' h/ U. O9 p% z0 {: p
  301. STA $2006
    $ F+ ^* v7 k: S( u7 Q/ s8 e

  302. 4 Y8 N+ ?! B+ t  k0 m8 `: [& [% P
  303. CL3:1 e% k3 ^0 Y& {8 o3 p2 \  \
  304. LDA #$00
    4 O" u0 V( s) Z( k; v, x
  305. STA $2007& h- V8 h# _( X) v7 [

  306. . @+ [1 s5 F  ~4 t1 V7 U, q
  307. CL4:
    ( c1 v* t$ O& p: T8 T  D
  308. LDA #$00# j$ X4 v( N+ F7 u
  309. STA $2000
    ( w) a) e7 J  m- ?  ^  E6 M
  310. INX  j* l) h% t* B. C
  311. INC $BA
    9 [- Q; Y: W4 o/ \4 Q8 T
  312. CPX #$009 v* t+ A% z# v7 x: N- Y# \, o" i
  313. BNE CL1, [0 R) v4 L9 y1 N0 R8 a
  314. INC $BB4 U8 o: U6 }0 M
  315. JMP CL1
    8 ~% G* h- `' G5 G# t4 V+ Z3 E6 K

  316. 0 u2 }: L3 i% N7 K/ J6 C

  317. ! |  m. P+ t' F" r" }; r: l7 M3 E( t
  318. FREEWRIYE:8 E% ?4 c" Q/ o% \, @0 V5 ?! `0 V
  319. ) S, S8 W: O, |. T( f
  320. NOP+ H4 a, ~- w; _' T

  321. ! `/ ?) t6 q/ i" O7 O; _

  322. $ `$ R  Y* j& c% E% N( |
  323. , @1 k" H2 U2 u4 B! O
  324.   X7 Q% ?( a8 s3 s: y

  325. 9 c+ r# s9 [% d+ N2 w
  326. CLEANF:                ; 恢复现场
    / ~, H6 e: H* A7 ?9 M
  327. 2 p, m% l! J" t$ W; O* q3 |6 L
  328. PLA) N1 n4 e) {5 |" M  Q+ x2 s6 t6 J
  329. STA $B8
    ; @9 T$ s4 \5 u1 R: c2 }/ s, I
  330. PLA* _/ ~$ r# i* Y% |8 N; e. t
  331. STA $B9
    3 K$ k, L; S$ F* c, }8 P2 h& I
  332. PLA
    8 l1 c/ F- e) }1 s* \* o' z5 A
  333. STA $BA. X" h! o  k- D! M# Q1 Q! F
  334. PLA# b; U- ?3 i& ]0 _0 Q3 i8 V% j! \: C
  335. STA $BB
    " V' p9 X5 Z) D
  336. PLA
    : F4 r6 T( _; W  F
  337. STA $BC
    5 U" [/ ?* f, F7 X5 Q
  338. PLA: ^. `& y' Y4 b# q9 W6 f- Q$ y
  339. STA $BD
      M3 {6 e/ ~7 |8 r* @
  340. CLRF:; K8 R( ^6 g' R% ]! n8 y+ Q) S
  341. JSR FREE_PPU9 W. ~- a# V# ~# `" s2 W2 a
  342. RTS
    " Q$ |- m$ T) J; W$ H, J  B( Q

  343. + f9 _. {; d  g  V6 P4 M( n& X
  344. 9 F; E8 z5 v  E% Z  I& b+ n' `
  345. PPUWRITE:    ;PPU写回
    1 N$ K* g& |5 [. c! F! _( V$ }: }
  346. PLA) K8 ?. B3 }5 o' U$ v7 G* Y4 w7 W
  347. TAY
    ( n3 S* b& Y$ T- q( M: e
  348. PLA
    4 F" Z+ q" l2 s# S# H
  349. TAX5 k1 F: \. f4 L* u' I
  350. PLA% Y5 _% F+ Z" V
  351. LDA $25
    7 B  y; [. q1 ^# G% H; a2 }$ r  ~8 D
  352. CMP #$00/ i/ `/ A* p- o5 D  i/ U
  353. BEQ WP1
    1 w6 ^3 ^9 `) T% W8 X1 `. K; L& d  d
  354. LDA $25: T# r, i5 A6 v
  355. CMP #$01( I, ^0 D* d+ U3 Z- R% M2 n2 p
  356. BNE WRE
    6 s& N7 ]5 t% z1 b
  357. LDA $F5,X6 N1 k) y$ E& t' w8 T( y$ O
  358. AND #$EF# ]8 o' A" m7 I( z( }8 P
  359. BEQ WRE
    : k1 g: b7 N/ g6 f. |4 E+ E# X
  360. LDA #$009 B5 f2 h% d/ \& a
  361. STA $7FA0; }" ]# Y: u3 m* e9 h' C1 Z& b: t$ Y
  362. . |7 ~& K+ q8 k' b& C/ s
  363. WRE:
    4 r. C" C. P! `& }0 f
  364. RTS8 u3 Z7 a3 v' e( G+ `- t  X6 [

  365. * |" G- ~$ x; ~9 }( A; I% o
  366. WP1:
    % _. r: r7 v* H% y- ~: v
  367. LDA $7FFF
    " S/ o7 C$ n$ l0 V# }1 F7 B
  368. CMP #$FF  x. ~, z: p/ k2 H4 `
  369. BNE WRE
    , X. q+ b* n6 Z7 U' ~
  370. LDA #$008 J: z# r. H& m2 J
  371. STA $2001# M* _+ H8 e5 }8 {: v
  372. LDA $BD9 }! }3 e1 ]  X4 w9 H4 m% L) w
  373. PHA# {, I7 h* y  f8 ?
  374. LDA $BC
    - @; i, s6 u* u6 j; Z, a6 Y8 A
  375. PHA
    1 V* j/ P9 ~4 O$ i7 `
  376. LDA $BB
    ; ^' L) B6 i/ ?+ C- Z- s6 z$ c0 |  j
  377. PHA
    9 e  g- }4 [/ J  @/ p
  378. LDA $BA1 y9 @  {! k0 T9 U
  379. PHA
    # S; W( _# h: _) R$ q5 A
  380. LDA $B9# S4 c( D: R1 y" K' R; M+ R
  381. PHA
    & t! _9 p9 ]7 c9 K: R# r
  382. LDA $B8* F; ?1 M, }4 O- m; e# G
  383. PHA
    # R9 S. s  p  `6 \
  384. LDA #$00
    9 E3 }7 D2 c( P
  385. STA $B8
    3 o, d- _' k. ]# m2 R7 u
  386. STA $B9+ R& V- I" D0 N$ c% ^! W# T/ [! {
  387. STA $BA
    3 ?% \! x$ e" w
  388. STA $BB
    7 V: x# y: P# T6 o* y
  389. STA $BC
    1 y# n2 O0 C7 g
  390. STA $BD
    ) `8 I( Y- F' n5 V" c
  391. LDA #$00
    4 I* I+ h9 J( R. x
  392. STA $7FFF, m3 d. ]/ Y# k& n$ h

  393. ; A0 I0 t# v5 i- V1 U: e% n5 f
  394. WL0:
    + Q1 ]+ n- A* ~
  395. LDX #$001 q+ B( T; r/ j* T/ ^) P
  396. LDY #$009 ]- ~" E' ]0 M/ D, l/ o% b
  397. LDA #$00. @( r, A; k0 q1 s- ]5 `
  398. STA $BA; K4 E" @8 z) `+ j1 a$ k
  399. LDA #$20
    ; ], ~, d. L" h
  400. STA $BB
    5 J8 v( {! `9 @8 K; C, K6 p$ v
  401. LDA #$00
    # \; B" _6 M; n9 B3 u9 i
  402. STA $BC4 a2 Y/ s9 }9 r3 E7 U$ F
  403. LDA #$60
    3 ]* J. U2 M& L
  404. STA $BD
    ' U! a4 m9 y) S2 H( [" w2 j  b
  405. , N1 P: D2 F9 X
  406. WL1:7 d. P2 t, g- n/ A6 Z8 @6 e
  407. LDA $BD8 ~! n/ C* w1 \8 ]+ i4 I$ ^
  408. CMP #$68# m# l8 C; n+ }8 a
  409. BNE WL2
    3 D3 @" _' e( B* _/ F4 w% _
  410. LDA $BC) a7 B5 `- o3 \" g+ o
  411. CMP #$00
    # N+ D7 m: E) M* }# e
  412. BEQ WLR# b) B+ ]8 k7 v7 y- o; X2 V/ K, d
  413. 0 b. b, Z  d  V
  414. WL2:
    3 J7 M# X9 I! m# B3 J
  415. LDA $BD5 o7 R$ {5 f7 S  u3 r
  416. STA $2006+ J1 D5 m% o: l& ]5 F7 H
  417. LDA $BC; S8 J$ M. \, u/ {3 b/ U" N
  418. STA $2006
    2 Y- }" K5 m% @% S" }
  419. 3 ]& u! J7 K. K" d* b8 V* p
  420. WL3:
    0 U+ r* |# ^) D7 e1 i9 ^
  421. LDA ($BC),Y1 A0 N# O9 P4 x! g- W: o
  422. STA $2007
    . e4 T1 O' H$ O6 v6 c6 _2 D

  423. - z0 L! r9 B$ h5 K( n
  424. WL4:
    % Q9 }- X7 q# C% L6 h/ s
  425. LDA #$00
    8 |, T- E( T2 s4 D
  426. STA $20008 |8 f' C3 ]# M5 l6 h- J: n
  427. INX! a1 ], E* |/ r* Y# w7 Z3 Z9 T  v
  428. INC $BA
    : X0 V  e. G! r, B% ]
  429. INC $BC- o7 s" j0 k0 N
  430. CPX #$00; L; @' Z# f& H) G7 P
  431. BNE WL1
    6 M0 X) Z, d7 u3 |) {* C
  432. INC $BB( V6 x! H5 e# B6 K0 H' M, g
  433. INC $BD* c# w2 g$ |( ]1 G
  434. JMP WL1  f$ h8 P! y: J! N6 q2 E# b* n
  435. % z1 g$ v& @; Q' W/ a
  436. WLR:
    6 T3 y+ b. r: Q) }: F' R9 c0 P, Q
  437. LDX #$00
    ) }' _6 g) b  ]0 }! Q0 A) m# H8 V
  438. COPY_7F00_7F3F:
    ; i  U' C) \) s4 S* o0 E; q, D
  439. LDA $7F00,X" V& e; S2 r0 w, T  j; N; W
  440. STA $07C0,X3 J! x$ d, a/ I$ u! v
  441. INX- b6 t! P, I- J% Q: `) x) U
  442. CPX #$40- @  X# J+ s6 E' ]5 a4 w; ^
  443. BCC COPY_7F00_7F3F
    $ p. V. M5 q5 x* P/ C
  444. $ J/ ~/ Y! u3 u0 d. ~) ~
  445. LDX #$00
    % R* r5 t) C( `4 p& _6 K
  446. LDA #$3F0 D4 W1 x4 b. C$ [6 o" A
  447. STA $2006: S7 s! E. C, Y5 I; U& @- M( v
  448. LDA #$00
    ' i6 L, c3 m* h  ~$ \" ]7 c9 m
  449. STA $2006
      H. i% Z5 }. c4 ^( v% ]! w
  450. COPY_7F00_7F10:
    + q+ J4 i% u% n" N& \
  451. LDA $7C0,X) @8 L8 R7 x0 I  `/ ~  c# R" m
  452. STA $2007
    $ b) ^' s' y" {4 ]) ~' s! W+ m; C
  453. INX
      ?; E) H+ w! J6 i- z, i4 ^) I
  454. CPX #$10
    , @9 G! T" p7 s2 r8 O8 q( H' ~
  455. BCC COPY_7F00_7F108 }( S' C9 F/ b* t$ g
  456. ; l# g) U" \/ O! b& B0 t6 Q
  457. LDA $2002+ E  i3 l& ^1 ]4 R0 [1 @
  458. LDA $FD
    2 E& j9 c5 y. u+ N# L: T' S& p
  459. STA $2005
    $ Y3 z. G8 L& ?
  460. LDA $FC% l5 D1 f& T5 h3 \, Q9 ?$ [
  461. STA $2005
    " P7 Q. {. G# L& s

  462. , A( U3 n( y- `! N  V  g, ?
  463. LDA $7F50
    1 B' c1 e( t- F: W
  464. STA $FE
    ) H5 C4 h- m' H9 T% e
  465. LDA #$00
    4 D0 x1 l7 Q' i# u7 w
  466. STA $2000" E  `0 {1 j8 O
  467. PLA
    % A' ^  H( I/ I1 I) Y% b- V
  468. STA $B8
    5 d7 G! R. n) u3 ^& _6 T' w
  469. PLA; s! W- B% \3 \
  470. STA $B9) B1 H( K( R6 d4 s: E# A
  471. PLA
    8 |1 A; y* a2 }( z5 u' H: ?  f* |
  472. STA $BA
    ) b, {* J. Q) b
  473. PLA$ h/ w0 u7 h5 s2 g6 B: Y- u
  474. STA $BB6 K# d. }" E- V4 Q. m3 P
  475. PLA% `( _2 B& n' S2 \0 w
  476. STA $BC% X# ?! |8 H! R8 P
  477. PLA) |* O+ G4 x) U; d! ]
  478. STA $BD
      s. k0 P# X: e& @
  479. ( I, N& I3 `; {& x
  480. RTS( |% d3 n) Q4 e0 [$ I

  481. 1 r, G1 h6 j2 Z6 W4 h
  482. PPU_CMP:2 ^3 M! ]/ `* a, d, Z* |; ^+ p
  483. $ g2 V7 B4 Y3 x) C2 U+ z
  484. ; g8 c4 t! U# d' y4 v' \! v, }
  485. PPURE:
    3 f4 k8 r/ s% N1 q
  486. RTS- P' u$ `0 c: A% R5 y
  487. ' ?- p& q% ~. Z/ j5 |
  488. " z3 w, ~* x) @8 l  v, ]$ G' ^
  489. FREE_PPU:
    : r6 S& `9 j3 l9 D1 u6 I
  490. ! h  a4 t8 n& N& w8 i& C
  491. JSR TEXT01_PPU/ l2 I9 f, Z! i2 ~
  492. JSR $CBC0- B9 H2 q$ o3 t, S
  493. JSR P1_PPU
    ; }- ^: g- P: p- b3 w" _+ ~- [2 u2 a
  494. JSR P2_PPU6 x+ W- T  W; }2 D5 g9 A- T& v9 b
  495. RTS4 x* D& }' Z) K2 P+ i4 k- ^
  496. * {% T2 V; L& {, g2 n+ x
  497. TEXT01_ADDR:
    0 K4 K" C& [. {3 H% ~
  498. .BYTE $20,$426 d& Z- I6 u* X' @8 e. ?: p8 ~
  499. TEXT01_DATA:# U( O- i  K$ W6 I5 E% h( G( q
  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,CEND1 A+ q; J/ w7 F! f
  501. TEXT01_PPU: p' c7 v+ p3 q1 V. y
  502. LDX #$00, ]$ p" {/ q8 T. r, i0 R1 v
  503. LDA TEXT01_ADDR4 ?7 ^1 n% z3 L+ A- [: p/ F; G3 {
  504. STA $07034 y4 z  f. F0 T& e) G4 O
  505. INX
    2 ^  j9 `1 S7 b$ Q4 l
  506. LDA TEXT01_ADDR,X0 B: W+ x# V# ?& j
  507. STA $0704* H3 A$ p9 ?8 h7 X, I- }: I- y) Z% Y
  508. JSR PPU_PROCESS
    0 O1 r, L9 l# `5 [+ l8 Q3 s: j
  509. TEXT01_W:- r( u  b! U  A$ ~& ^. A( A
  510. LDA TEXT01_DATA,X
    " F9 }# e1 X( _: ?
  511. CMP #CEND% Y1 T  i* q0 _' ^' `% Q
  512. BEQ TEXT01_START! o3 m: H  d( d4 F: v- t' m
  513. STA $0705,X
    ' D" k7 u2 v- j! x, S3 x( @
  514. INX
    1 w4 h: u; d& g" m% z9 k% O
  515. LDA #$00
    ( T8 w. b: K8 K, k
  516. BEQ TEXT01_W$ M; u: b' K! c0 p: d* B
  517. TEXT01_START:
    9 e) i+ Q& X  \5 D  B: R9 }0 O
  518. JSR PPU_START6 |3 P8 K/ L- r7 K
  519. RTS
    : c. {9 p# N. N% j$ ]
  520. ' O# ~% ^. t7 |; S" S! y
  521. ! b" l  U8 \. e+ D- p
  522. COLOR_DATA:
    $ l! {& A+ s$ C4 p
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$289 P6 w% h, h  I& P
  524. ; Z# ^" M! G8 o3 w) Q
  525. P1_PPU:
    & D* t5 N. l' d
  526. JSR PLAYER_01_PPU
    / I1 B& C" F! c: C& Q" f
  527. JSR $CBC0
    ) F; z  v7 S- A. E9 w5 d
  528. JSR RELIFE_P1_PPU
    , u% D# g) D2 |& ?
  529. JSR $CBC0
    , i& W! ?6 B! J+ W! D
  530. JSR RELIFE_NUMBER_P1_PPU  J+ {1 S  @/ G! [9 M
  531. JSR $CBC0
    ' F. g2 b2 v1 r/ {# c
  532. JSR WEAPON_P1_PPU2 n& R9 M9 Q2 z; j' k
  533. JSR $CBC0
    - b7 k$ j" `) y4 u: b9 k; X
  534. JSR BULLETPPU_P1_PPU
    + n* I) V- l5 D) O2 G
  535. JSR $CBC0
    . m. @, F. J  s$ t
  536. RTS4 g! d% |1 n4 o) b) T' J0 U! S" T

  537. 3 P- d- I; l( p. \+ d
  538. P2_PPU:' e8 u5 V1 N; H, o! v* F. c3 E0 A
  539. JSR PLAYER_02_PPU$ S" ?9 a( c; U, M
  540. JSR $CBC0
    * |" n" t. F4 n# e4 w* L
  541. JSR RELIFE_P2_PPU5 l3 b% _" t7 A6 Z5 l1 ^6 N
  542. JSR $CBC01 I! s1 {1 X+ o5 u
  543. JSR RELIFE_NUMBER_P2_PPU
    2 G5 ?4 t/ t4 G
  544. JSR $CBC0
    3 \: S3 k" d) ?. p
  545. JSR WEAPON_P2_PPU6 ~, e7 c0 x" P8 m, t
  546. JSR $CBC0
      g4 H: ^# A9 o; B! A% G; m
  547. JSR BULLETPPU_P2_PPU& u7 P8 A7 }; x- D% w7 u1 a
  548. JSR $CBC0; r8 V2 y: o4 |% J9 A; a& g
  549. RTS
    6 Z, ~& K+ {, [( n! i1 w% R

  550. & w& S8 F- x  C# x. S, A! E% o
  551. # O8 T! z/ s0 Z% v( B
  552.   q, i' Y$ L/ B. B( H, G  t- C
  553. PLAYER_01_ADDR:1 L2 W5 Q2 t8 C  u
  554. .BYTE $20,$A3# F" W% D( l2 R* X
  555. PLAYER_01_DATA:
    - _2 A0 n" u* h2 K# ?
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND
    : G  Z$ }" C& R# X. t" o2 B
  557. PLAYER_01_PPU:
    . U9 [  I  z' u. S8 b8 V5 _
  558. LDX #$00* t8 l: T. ^4 w( F' @7 k
  559. LDA PLAYER_01_ADDR- U/ l" p6 o  ^
  560. STA $0703
    1 Z$ y& c  U: b4 {4 k; V% o8 x
  561. INX- E6 j. N2 R; S% Z9 E$ R! m( G
  562. LDA PLAYER_01_ADDR,X: {/ A/ ], D& e% j1 R' c# C5 I0 c+ Q
  563. STA $07040 s  Q2 s. @7 v+ U1 P4 X# t( a6 ]
  564. JSR PPU_PROCESS- I& G! d8 b2 V. u0 S
  565. PLAYER_01_W:& ^! E& ?( Z$ T: T! G; r$ \9 c
  566. LDA PLAYER_01_DATA,X
    1 p) M" ~: l, _# f! F" x* _
  567. CMP #CEND' q' h8 z7 i, D3 }) E$ M7 k) q  x" b
  568. BEQ PLAYER_01_START
    5 T( m' W/ y- E/ {# q+ O# @  ?2 _
  569. STA $0705,X
    & K+ Z, {) J+ F! Q7 i
  570. INX. {7 M! k: Y/ }- p: K: {
  571. LDA #$00
    6 l- i9 p8 {1 m* k
  572. BEQ PLAYER_01_W
    0 z" K) {8 c/ Q0 l9 Q
  573. PLAYER_01_START:
    - |3 m: Y' ^7 T$ Y! C
  574. JSR PPU_START5 p/ G: s7 t  W1 S; b8 Q
  575. RTS% q# y- r% c2 H1 x$ s+ w
  576. ) M  w9 i( f3 P3 H' E! X6 \

  577. * c# g0 t# f* [* H8 F9 S. R8 `
  578. RELIFE_P1_ADDR:3 z" u5 |9 T6 z0 U1 \, q
  579. .BYTE $20,$E3. b- G( v: E$ D. o% ~/ O
  580. RELIFE_P1_DATA:& v* ^, K9 l: L% k
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND
    1 m: D8 a0 m+ S4 w2 j
  582. RELIFE_P1_PPU:* _% G( n/ n$ n0 _4 j1 I8 y
  583. LDX #$004 Y2 h( Z& r6 J8 X0 }
  584. LDA RELIFE_P1_ADDR# t) Q* m- I, R  H
  585. STA $0703( Y5 Y9 a0 v9 @" E+ O5 p" h
  586. INX
      C1 o7 |( V/ B) c
  587. LDA RELIFE_P1_ADDR,X1 i- o, E* L# C. ]% Z" f
  588. STA $0704& E% z7 P; M0 @8 b' P
  589. JSR PPU_PROCESS  q( n; y6 w! f
  590. RELIFE_P1_W:
    & E) h- B# q0 u. y
  591. LDA RELIFE_P1_DATA,X& y) l, p/ r/ D3 ~; W
  592. CMP #CEND2 D9 r- Z* l! h5 i- H1 Q
  593. BEQ RELIFE_P1_START
    ( ~8 v4 T; s; ^0 a. K2 l4 c
  594. STA $0705,X
    4 P. }6 h! U( N2 j! {  i1 A+ t9 S
  595. INX4 J  R7 u6 |: n
  596. LDA #$00, q2 ?( J1 W/ z; u/ j# M
  597. BEQ RELIFE_P1_W4 c9 m1 }4 u# `* d7 H3 ?/ t4 {# D# c
  598. RELIFE_P1_START:# O  W% ]  O9 ^( J" _! }
  599. JSR PPU_START* I" X* p8 E! B* p* _6 j4 D* S
  600. RTS( Y9 @9 w9 T& M0 B5 F# y

  601.   V* L+ a# i9 N: \8 X8 U$ ^

  602. + T9 B1 [, M! |6 E! h8 L
  603. RELIFE_NUMBER_P1_ADDR:
    + \# q. C7 r. X. _' X1 b
  604. .BYTE $20,$EA" f7 W5 a* d4 g( F
  605. RELIFE_NUMBER_P1_PPU:( N$ c0 T1 o" y5 N' P& s
  606. LDX #$005 U, D& n% g" m7 i+ Z( [" Z
  607. LDA RELIFE_NUMBER_P1_ADDR. l! v4 _  c2 i4 Y
  608. STA $0703
    0 y( ]: F, |& e) m* X5 z5 Z3 M
  609. INX  n$ q. u, q0 ~2 _; d, P5 t/ E
  610. LDA RELIFE_NUMBER_P1_ADDR,X, v+ L) V2 ~% R1 Z* [; s  a  P
  611. STA $0704
    7 u4 E* `0 i! m( d5 R4 V
  612. JSR PPU_PROCESS
    5 m1 M0 I, I. q) q6 ?* |
  613. LDA $32# N! [; E0 R5 z8 Y# a* l& g+ z
  614. JSR LIFETODEC
    # @5 C  v% K% N
  615. RELIFE_NUMBER_P1_W:: M& `4 \9 p1 a$ h4 ~; x
  616. LDA $7A03
    1 e- e! ]) n* w3 J- h
  617. STA $0705& C3 u! }) Q! K1 L
  618. INC $0705! i. W: c! ~( x& R% e) a* @
  619. LDA $7A04
    3 x* b, F, _) v% w
  620. STA $0706
    ) z" X6 u: i" d
  621. INC $0706
    ! C3 k1 D4 N+ \( m8 k
  622. LDA $7A05
    7 W5 G7 Y) m' ?+ ^, a' y
  623. STA $07076 u0 i, B7 Y" Q8 ?" I1 \4 }7 x
  624. INC $07078 W5 V2 N/ |: Q3 T3 S3 j4 L
  625. LDX #$03- N/ p% ~7 G6 ]% {: c3 }
  626. RELIFE_NUMBER_P1_START:! \' l$ }8 O* b
  627. JSR PPU_START  M5 T: j& l" B6 M3 {8 d
  628. RTS2 h3 V% L/ m/ g2 A/ W" j, t% ]9 u
  629. 2 h3 j- N. S  ~) s$ I0 c$ v
  630. WEAPON_P1_ADDR:$ k, N# ^5 \& t0 |2 _
  631. .BYTE $21,$23
    8 n) {. j$ j' F6 R0 [
  632. WEAPON_P1_DATA:( ?2 D+ [4 r  W
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND
    . X  h; L& J4 m- v" p) _
  634. WEAPON_P1_PPU:) S. p- Q+ }3 X  M9 ^
  635. LDX #$008 L' I0 x  _) u8 j
  636. LDA WEAPON_P1_ADDR$ g. Y2 t7 P! J: ]
  637. STA $0703# i8 a  q# f$ Q! P  ?7 ]" l
  638. INX$ E8 L7 c- g5 h, P* c
  639. LDA WEAPON_P1_ADDR,X5 o2 S7 Z- ]7 {
  640. STA $07041 q% l  m6 c* F) r: E! _6 w
  641. JSR PPU_PROCESS! {1 N, [7 A, a0 W' l# C
  642. WEAPON_P1_W:" b/ h/ i% @: A8 r$ m8 _
  643. LDA WEAPON_P1_DATA,X
    2 O4 m( J9 n! X& L! T
  644. CMP #CEND
      E# |+ i' U% H3 l3 E+ J
  645. BEQ WEAPON_P1_START+ Q$ x7 `5 ]) z. L% y: S+ b
  646. STA $0705,X
    : y6 k. I# W) o" j, f
  647. INX
    6 S5 E' N5 O  G- N
  648. LDA #$00
    5 [8 u# x5 u2 i/ e1 b% v8 v
  649. BEQ WEAPON_P1_W& U# i3 H& g9 S& d! |# ]6 N6 K
  650. WEAPON_P1_START:
    % z! w! [; e$ z# U+ q$ L, d
  651. JSR PPU_START: r+ x7 K1 S" n7 D- P
  652. RTS2 W7 l! c  ]2 Z4 ?
  653. " s' j/ r! x* f1 n5 }. k( B! z7 z7 w
  654. BULLET_P1_ADDR:0 a5 S8 {% I0 \# n( ]/ a5 d5 G
  655. .BYTE $21,$2A
    7 k* g% i- t2 f5 R0 _* N0 U
  656. BULLET_P1_DATA:) h( e7 g6 a+ G6 R
  657. .BYTE $00,$01,$02,$03,$04
    7 m% ^$ m; S) b0 ~& {% A0 f: U1 @8 T
  658. BULLET_P1_NAME:+ k9 m; b2 Z' B, f
  659. .BYTE CN,CM,CF,CS,CL( R- i: l0 I% C0 K# W
  660. ' d0 B( P% @) n: K5 K5 ]& h" I
  661. BULLETPPU_P1_PPU:
    . F' A% Q7 K% ]( A! z
  662. LDX #$00
    2 |& k0 ]/ g1 E- a( {" x1 b* ]2 `
  663. LDA BULLET_P1_ADDR* t1 T3 L  Q4 ^) ]9 a
  664. STA $0703
    5 f- K! n7 D. h
  665. INX/ L! j& j. u4 X# o, K
  666. LDA BULLET_P1_ADDR,X# s4 a+ E1 [6 }$ u
  667. STA $0704% r4 S/ h6 q+ j7 f5 g
  668. JSR PPU_PROCESS
    , h9 Z. v" F9 ]8 d1 A, l' v4 l
  669. BULLET_P1_WRITE:
    % ?- a# K$ Y# c
  670. LDX #$00. C" l& d4 Z, c8 D! g
  671. LDA $AA
    8 U3 L/ |; f# b( L
  672. AND #$10
    0 i: @! s6 ]4 u5 c5 ]6 O
  673. BEQ C_BULLET_P19 G: r" m, _" p: }
  674. LDA #CS
    # t6 _( c& V- |: M7 Y( @
  675. STA $0705
    + U2 C' p6 b. T7 ]- H) [: r( V
  676. BNE B_NAME_P1
    . ?4 o% |5 |7 L$ S2 d/ V% {
  677. C_BULLET_P1:
    6 `, Y$ U8 T8 |* t# h
  678. LDA #CC
    $ b; [6 ^* j+ V% f- x
  679. STA $0705* S3 j) b2 H* o& ]1 {6 x
  680. B_NAME_P1:
    . P2 _; Q. ~8 m. d9 [6 Z
  681. LDA $AA" i) w/ m1 ~3 ?8 f. p2 F
  682. AND #$0F% K- x/ D# C; P0 h' p
  683. CMP BULLET_P1_DATA,X" {2 E- @8 `! m0 p  |, o) h: v
  684. BNE B_NAME_P1_RECMP+ ~3 K$ m( `* y' V7 V) o+ I  N* i  a
  685. LDA BULLET_P1_NAME,X
    + K/ n! d9 t  u; U0 b
  686. STA $0706* u* q$ Y6 k2 s' }2 x
  687. B_NAME_P1_RECMP% x2 j( L, m& u: ?4 W: [* S9 u
  688. INX: ^  v/ m* x* ?7 ^
  689. CPX #$05
    , @2 O3 {2 w( n2 D+ ~# W2 }9 s
  690. BCC B_NAME_P1
    $ K( s' i1 h% V5 W+ |
  691. LDX #$020 |* I: P! D- O" v
  692. JSR PPU_START
    ! c5 \1 {- o; H/ A; H5 Q8 w
  693. RTS
    6 ~  d( G+ @2 ~* t" [/ \: Z2 V' o
  694. . ^* I7 d  l4 t1 S* j! f& @3 ^% V& G' |3 ^
  695. ; \, ~* M- a  R* w% x8 N& J7 r
  696. PLAYER_02_ADDR:
    ! ]9 @/ M# ~' ]- J# ^' |8 M. B1 n
  697. .BYTE $20,$B36 i( j% T1 _; ^* [: z1 d& l
  698. PLAYER_02_DATA:
    0 ], a1 f/ x$ o4 O) ]8 c% L
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    ( p! d1 d/ z# Q2 D9 @( R+ L
  700. PLAYER_02_PPU:! T& {: z9 C& V( f# ^
  701. LDX #$00
    8 g, j& t/ ?2 m! q2 W
  702. LDA PLAYER_02_ADDR
    8 F- d7 K* w3 f/ {
  703. STA $0703& P; l6 _1 R7 m8 Q7 z5 K# }& r; }' M
  704. INX2 k4 n4 ]- B0 Y/ Q
  705. LDA PLAYER_02_ADDR,X; i: J7 i' C& M; {1 V6 H6 N- K
  706. STA $0704  J0 b/ }, e( r
  707. JSR PPU_PROCESS
    1 m- I' V- c" X8 |, T
  708. PLAYER_02_W:% a0 y$ i* D+ ^1 a/ S$ R7 T! q
  709. LDA PLAYER_02_DATA,X
    7 C! U$ v) T4 Z3 u+ U& H
  710. CMP #CEND8 a, Z, [5 T2 J" C& `4 E# q+ I" l
  711. BEQ PLAYER_02_START
    - s, r- f. b! r  j) W
  712. STA $0705,X
    % D. a- l' ^4 C7 \  S7 V' u
  713. INX8 f$ }2 m' W! M! {' j0 A' q; {& i  Q
  714. LDA #$000 g- o5 b7 x7 w$ r8 w# P
  715. BEQ PLAYER_02_W$ P+ W$ E/ Z1 K" z! ]2 p
  716. PLAYER_02_START:1 w9 |; m/ P, k9 \! c: b7 g) }4 |- A
  717. JSR PPU_START
    ' O! i, J, r) \: D: e
  718. RTS; b0 @- {( }7 m* k: y
  719. 6 R+ X5 p* G: p( D% V: I

  720. & D% u) I) Q( w5 e) X7 ]/ T
  721. RELIFE_P2_ADDR:& M' P( U# f; i5 ?
  722. .BYTE $20,$F3
    + E$ H" @) T/ X1 J
  723. RELIFE_P2_DATA:0 `4 N) {6 I3 k" z$ P
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    ( j# G+ w1 i% k. s' |$ K# x& A
  725. RELIFE_P2_PPU:1 G9 m) y( b: h+ Y
  726. LDX #$00
    + ?+ o; k. W! ^
  727. LDA RELIFE_P2_ADDR( \9 v$ D1 G$ a/ V- d, Z. C" Q
  728. STA $07034 L" N, P- v4 ?- I+ a
  729. INX; S4 h; s* O) g
  730. LDA RELIFE_P2_ADDR,X9 P2 W. g& U: H9 t
  731. STA $0704
    $ W0 ?7 ?+ N, ^0 @6 d
  732. JSR PPU_PROCESS
    - q9 k0 z. |  \4 i+ y5 c2 T
  733. RELIFE_P2_W:
    4 N* S4 \6 D* Y/ c1 x
  734. LDA RELIFE_P2_DATA,X- W: l7 D0 R1 Z& R1 _8 j8 q9 O/ n
  735. CMP #CEND6 z. {6 ?3 v8 i/ S. |% a8 s! f
  736. BEQ RELIFE_P2_START+ a5 z4 L1 j7 L* N- {" j) L
  737. STA $0705,X& U! }7 V) |0 e7 Y+ J1 O& l
  738. INX
    1 V$ H' c, ]+ }) u6 v
  739. LDA #$000 K0 r  e2 q; I7 j" t; A
  740. BEQ RELIFE_P2_W7 e. H& ?' @* N% k9 M
  741. RELIFE_P2_START:/ M- I* N4 r. O6 U6 I$ [. x3 J1 D1 X
  742. JSR PPU_START9 Y/ `3 `2 V/ n
  743. RTS. s6 x% h. _  J# O
  744. " ?, i0 t: c/ f

  745. 4 e6 a# H5 [  E+ b8 N  F" m# B
  746. RELIFE_NUMBER_P2_ADDR:9 C. i* L& p. T. k) `, D8 K$ {
  747. .BYTE $20,$FA. ~" g. ~) c; a5 q: }7 E" g1 K7 |
  748. RELIFE_NUMBER_P2_PPU:
    + P& V" k* w9 D6 ]$ @1 |
  749. LDX #$00
    * X& N/ z) s+ L" Y; ?2 h  u5 e: b* }
  750. LDA RELIFE_NUMBER_P2_ADDR+ l1 D. M* a- x6 ^: z: _
  751. STA $0703
    8 K& `: t9 Y4 \" S& i4 a4 @# ]
  752. INX) T4 D4 \7 v# f: V" T& \
  753. LDA RELIFE_NUMBER_P2_ADDR,X6 P& S  G& i$ i5 a. H6 ^' ?
  754. STA $0704
    2 C6 m: S7 i( j7 h
  755. JSR PPU_PROCESS
    1 b5 t) O7 \2 Q, m9 c) k* _
  756. LDA $33$ n% q3 y. W' Z- R
  757. JSR LIFETODEC
      F$ x4 r7 k. X. `4 F7 L
  758. RELIFE_NUMBER_P2_W:
    4 H" D+ K2 J7 E
  759. LDA $7A038 d) a6 S: N6 J( J0 `) D: B
  760. STA $07050 P* [- A2 m2 [6 T* n' s
  761. INC $0705" U. O8 ~3 s  w* ]' j2 T
  762. LDA $7A04
    9 L3 M4 _, h2 D  q3 t: N
  763. STA $0706! Y" a# A" c2 L% N! }! Z& x
  764. INC $0706
    1 P. |! [, }3 O! J7 o1 U
  765. LDA $7A05/ z! ^6 |3 ]# m/ ]1 u3 @+ n
  766. STA $0707" v9 l* O0 v+ x' W
  767. INC $0707
    - o3 }7 A, i+ g. H8 R1 u7 i; g
  768. LDX #$03
    . e# F* t' ^% d8 {5 ^
  769. RELIFE_NUMBER_P2_START:
    . p+ O) }2 j1 S+ ?+ f7 s
  770. JSR PPU_START
    & D( A- t9 p* b6 D; p1 T  m
  771. RTS
    4 I* N6 w6 V  [' s. R* c8 M

  772. - }/ `* h! V. ]. n& R0 l
  773. WEAPON_P2_ADDR:
    $ u3 b7 W$ @$ j" Q$ n
  774. .BYTE $21,$33) J$ i& Q- T$ X% M( w% ~
  775. WEAPON_P2_DATA:. g: `9 u# t3 F3 k6 H
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND4 E# y. ~) \' c
  777. WEAPON_P2_PPU:
    7 t' X8 ^% V( I" e# M3 t
  778. LDX #$000 {+ X8 p! E. J1 [3 e6 i0 R* u' N
  779. LDA WEAPON_P2_ADDR
    6 f) C: s5 u% e
  780. STA $0703
    , t6 p, |8 D  A8 e: z1 T: _' d
  781. INX4 S3 T1 a' l0 {; `
  782. LDA WEAPON_P2_ADDR,X6 a7 O. V8 Y" D3 w' v6 h" f
  783. STA $0704
    6 b' g1 M8 i7 r/ I6 N& B! Q  ]5 r
  784. JSR PPU_PROCESS" _  {$ J( l: j: k6 c* {
  785. WEAPON_P2_W:6 B4 d+ C/ e0 a+ B' W
  786. LDA WEAPON_P2_DATA,X& y% ^, @' p- v4 M# ?4 h
  787. CMP #CEND
    # b* z: w7 f3 s2 T7 p
  788. BEQ WEAPON_P2_START' |' [1 `/ M; d! ]! Z' t
  789. STA $0705,X5 {7 N" A. L; N- K
  790. INX3 k) `/ ]& x; a2 J1 ]( j1 F
  791. LDA #$00
    1 R; `- }( T8 ^6 I. ?
  792. BEQ WEAPON_P2_W
    " [% a: y4 y  A; Z4 B/ ?' k
  793. WEAPON_P2_START:" c( k( f, u4 x6 i! {- O: o
  794. JSR PPU_START
    , F# T. R) H* j  m& R. G
  795. RTS  h7 z, t, Y) O3 D0 Z9 J, s
  796.   \2 k7 Z; O4 U0 J% ^6 w% T! h
  797. BULLET_P2_ADDR:- B5 A/ n& x% x( q; F
  798. .BYTE $21,$3A) R, G9 s4 S$ T* `& T
  799. BULLET_P2_DATA:7 j$ K; U; h# r, R
  800. .BYTE $00,$01,$02,$03,$04& h7 y+ v0 T) p( W2 W
  801. BULLET_P2_NAME:
    7 ^  U/ W: g4 ^
  802. .BYTE CN,CM,CF,CS,CL
    4 `$ O7 U! G) H1 @2 ^; P0 I3 w

  803. " O; x' K' k6 P
  804. BULLETPPU_P2_PPU:
    # x4 d% Z) e/ w! j' u$ b. m
  805. LDX #$00; N3 k- E! g2 }- }/ [6 Q0 ~8 r- v
  806. LDA BULLET_P2_ADDR1 j- H  Z$ O2 n/ U4 v
  807. STA $0703# `+ V0 J+ @0 s: T9 @& d
  808. INX
    " L3 x: F; W' I2 M
  809. LDA BULLET_P2_ADDR,X
    0 a7 p' i, H- X; }0 w8 C
  810. STA $0704
    ' U& u; f' s0 \4 z
  811. JSR PPU_PROCESS
    1 X+ G, |. F4 c. f3 N5 q6 {6 P. }
  812. BULLET_P2_WRITE:( H- w0 a8 o, N
  813. LDX #$00
    3 V6 n+ v: h5 J# [. J% ]. q
  814. LDA $AA
    5 E' b7 |/ a4 {, N( \. i1 R
  815. AND #$10
    ) ?+ I& {* A3 ~. `
  816. BEQ C_BULLET_P2# ^' D. Q% p9 N; w, R
  817. LDA #CS$ P1 f9 X5 W- |  z- p
  818. STA $0705
    7 k, X6 {+ U% V; w' N4 r( s2 e
  819. BNE B_NAME_P2
    3 G* `; ?/ X9 b" J
  820. C_BULLET_P2:
    - S% {- o- B* ]" C
  821. LDA #CC. K7 \1 _( O! t: O6 s! X+ C
  822. STA $0705
    ' {0 A! c4 W7 v! g/ V4 H: }
  823. B_NAME_P2:. ^. |$ H4 U7 c0 G- I' D
  824. LDA $AB
    ) s7 P3 C6 z  Z% P/ s" p& C9 a
  825. AND #$0F. E% S# g! r0 ]
  826. CMP BULLET_P2_DATA,X- e& Z8 W; F; W2 A
  827. BNE B_NAME_P2_RECMP" m; }/ z5 D* x2 z8 g, t: Z
  828. LDA BULLET_P2_NAME,X
    ' z( z+ C% z  q4 H( |
  829. STA $0706: T2 _5 R( \$ m2 e/ `. ]8 ^' F3 m; Y
  830. B_NAME_P2_RECMP, l' l/ b! ]8 h
  831. INX( k1 ]( y2 l0 ^7 B7 _5 b! L
  832. CPX #$05
    1 K! ~- i# t# d
  833. BCC B_NAME_P2
    $ F& u. s- @  K4 T$ z
  834. LDX #$02
    , M5 H+ h6 \, \1 {. |
  835. JSR PPU_START! A$ r  w8 y5 h, f
  836. RTS
    7 [  g! x0 ~; u1 \
  837. 8 n1 A/ }) N' M+ O+ c0 x
  838. 1 z; O0 X! q" \. B3 q8 W1 M+ S
  839. % R( a% u* c) ~6 ]$ M
  840. / q  }6 A" o/ |; a+ |( ~
  841. : }# N/ g: I# d) ^& j% ^

  842. ' ?! @- f1 v1 B; q& v' b: G, k
  843. LIFETODEC:                ;十进制转换5 n& \' E' E! y' I
  844. LIFEL1:        ;initialise
      t( {/ i9 G2 C
  845. STA $7A00        ;$7A00=F3
    9 G' w6 e! [# E; e3 [
  846. LDA #$006 S% S2 w' u" Y4 ?) ?
  847. STA $7A03        ;$7A03=00) ~4 z: M2 Y' ~) g1 a
  848. STA $7A04        ;$7A04=005 v; l- |& v' J0 v
  849. STA $7A05        ;$7A05=00
    , @; @1 W9 C$ A: W0 V2 _2 s
  850. LIFEL2:        ;copy data $7A00 to 6001# W& L" P) Y* ~
  851. LDA $7A00
    2 v2 e* J1 S. H9 a" Z
  852. STA $7A01( A' o/ _4 B( _' B1 h
  853. 6 P6 _# b6 n/ `0 h% N
  854. LIFEL3:         ;hundred& C" l" H* ^7 }6 q, o
  855. LDA $7A012 v! w3 `1 E, d8 W* N( p
  856. CMP #$64# l. B0 U: Y5 t' c2 |% _9 ^
  857. BCC LIFEL6                ;$7A01<100 goto L6
    & ~% m* _! W/ d
  858. LIFEL4:
    : u6 O% L0 `7 U% i! g
  859. LDA $7A017 B/ F: h) t9 E2 `4 M
  860. SEC
    ! p: N" x! ]- a4 m5 A$ l
  861. SBC #$64        ;$7A01=$7A01-100, r% A  m8 N5 w# n% N2 m
  862. STA $7A012 T7 @  t* v2 P5 C! R3 @2 }! S
  863. INC $7A03        ;hundred++0 ^5 K' l" W0 }" k
  864. LIFEL5:. A# v  H3 w0 |
  865. LDA $7A01
    & U: h( @. b: Y. v
  866. CMP #$64( o7 k, n4 @7 O
  867. BCS LIFEL4                ;$7A01>100 goto L4
    1 u  r. z0 V& I/ y
  868. ) f1 s' M: Q+ `" \0 t
  869. LIFEL6:        ;decade
    9 L! {& R4 e" L% b5 j
  870. LDA $7A01+ |) w# E( Y- d4 |
  871. CMP #$0A
    $ y4 B% t# x6 N4 z4 b
  872. BCC LIFEL9                ;$7A01<10 goto L94 ~3 C+ f+ \, C: ?# Q
  873. LIFEL7:       
    # H/ X/ z! ?7 J' D) t
  874. LDA $7A01/ O* Q9 O, y" L) @" v: F" d( i
  875. SEC
    # v$ y, g- e  K; f& y5 X
  876. SBC #$0A
    ) A# a, z5 g3 k( R3 J# Y: W
  877. STA $7A01        ;$7A01=$7A01-101 g( {# I2 H6 d% h: h( ?2 h! F; D% j
  878. INC $7A04        ;decade++9 W/ {& s7 `. B& e. v: s$ b- d; v
  879. LIFEL8:
    * ^1 D) x# z5 v. g+ Q, j3 V
  880. LDA $7A01. Z) ^$ i$ i* f( |
  881. CMP #$0A
    . Y, W8 l1 j# c: M' H. A# Q# H
  882. BCS LIFEL7                ;$7A01>10 goto L7
    - C! n1 N1 }: T& s+ [. |
  883. ;unit+ T6 u8 p9 Y. S  q8 \5 I+ H) o" M
  884. LIFEL9:
    7 Q- v/ {" y$ e, d/ c1 d
  885. LDA $7A01        ;$7A05=$7A01: M' [) H4 E. z. y' J& l0 n" P
  886. STA $7A05        ;unit
    , p3 e$ g1 Q$ j; p, v/ l
  887. RTS        ;return
    0 h+ S" ?, S" C3 v0 L, E

  888. ) {* r  D1 Y: U" v3 V

  889. & i, H7 f' j  m2 \4 m5 F" \* F. ^
  890. 4 H: d6 [, ^6 b3 n  z
  891. PPU_PROCESS: ;PPU地址处理程序9 a8 V9 h  F, _4 ?7 O6 n2 T
  892. LDX #$00" t+ I3 Q1 w# V
  893. LDA $FF3 b3 a: x' |; ?$ k1 t
  894. AND #$01( R. r/ Q' I5 o% u+ i* l
  895. BNE PPU_2400_27C0# ]3 ~, O! T! g: a' g5 M$ w  ?2 H" }
  896. PPU_2000_23C0: ;命名表1
    / b9 ]7 `, b: j+ W' r; P: B1 \
  897. LDA $07033 |+ W, S& b/ W2 V" y. B
  898. AND #$FB
    ( P0 ^4 C! T' T. s2 n
  899. STA $0703; C, o$ ]8 Q' r9 w
  900. RTS/ b' w7 v& m, D5 k  e- @$ L; g
  901. PPU_2400_27C0: ;命名表2
    / |6 b7 u1 u( S$ H
  902. LDA $07032 P3 U' V& J9 g5 g4 w
  903. ORA #$04
    ; k: \  Z* j: k* V) c: B# Y
  904. STA $07039 S5 Z1 j' q& G$ x
  905. RTS
    ; c% d5 V2 N) G

  906. ; j2 U1 J" E- u  ]0 ?4 q2 x
  907. PPU_START:  ;PPU数据写入
    " A6 z8 J. J7 y! R( @
  908. STA $21
    4 u5 v( m' M0 s6 U7 p. x5 u( o) f
  909. STX $0701' b0 D4 @" w8 o0 n
  910. LDA #$00. S5 x9 `; h/ j0 O4 X
  911. STA $0705,X) q# L9 {0 F) t; X
  912. LDA #$01
    0 }. ^( W! S' @; A) d- W
  913. STA $0700+ s! b: t  M: }& `
  914. STA $0702) r+ `8 Y& W; Y  f- P
  915. RTS
    6 i, ^+ T: C! i1 P) d
  916. 2 f+ k: g5 K' K( p, W

  917. % ?, @3 J7 x  T4 `0 U( k
  918. 7 [: c/ {8 x/ c- ?, V- W' n* l; w2 p

  919. 9 Y9 _& k6 g/ K' [

  920. * }' x- X% Y/ x" H! G

  921. 2 j& y& a- d, x) O
复制代码

6 H9 I# K9 i2 z( }& J1 c5 D) C

本帖子中包含更多资源

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

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

签到天数: 2139 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!
' C% `, G' t5 i$ _
回复

使用道具 举报

签到天数: 2554 天

[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-4-27 09:47

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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