EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    2 i( [; X8 z' |
  2. 作者:FlameCyclone
    ' t! t% k9 j! f: {( q+ @
  3. 时间:2017.2.12: [$ }9 e, M6 G3 G$ T
  4. ) r: o1 _. b1 k$ \  }
  5. 按键跳转:8 T) E% y- v2 G8 L2 I
  6.         C1EF:95 F5 94 F1% [2 F" E/ h3 Y
  7.         C1EF:20 70 FB EA
    2 u8 ]9 N# [. Y( T0 ^# R

  8. 2 K: p' h# E; o% y3 L0 `
  9. 滚动偏移:6 ^% G- {+ u4 |
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20
    0 c4 N, `( G% P6 w6 t
  11.         F936:20 C0 FB EA EA EA EA EA EA EA9 H3 ^( l% I0 f; c
  12. / j; Z. p) e; p7 o9 r
  13. 背景调色板:5 M5 e; _& T7 k$ e
  14.         CF20:9D C0 079 a0 X* g- o. o  V
  15.         CF20:20 A0 FB
    ( J" Q8 c% v: K
  16. 8 R. l6 Y0 W+ K' P! F" n; d
  17. PPU BANK号:2 N: ^) E- H# z) A  H3 i: a) |( G9 d
  18.         C8C9:9D F4 070 a# C& P0 p' _& v- A: x, Z% m3 _
  19.         C8C9:20 B0 FB
    ; W* f( q: `1 K0 n. T- @8 y$ v
  20. ; t6 R; ?; @, h6 P* w- ^, Z
  21. 按键跳转:
    4 E6 j) ~8 ~! V3 ~3 C6 `' `
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 205 X4 K8 s/ [) F' Z3 P
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20  }. O& N$ L6 L8 |1 x, ?3 M+ L
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF6 c5 \  c; Y: ~1 G* x3 a1 p  n
  25. . K- v3 X+ E$ m9 D8 M0 r% F
  26. 背景调色板:
    ! E6 Y3 j+ t/ D* ^
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF
    , s5 p% T7 ^2 f8 u* A  e/ n

  28. 3 D' N' Z- D$ W; w% s% X; H
  29. PPU BANK号:- w7 T$ M1 k: D- ~8 H! e4 A
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF8 R& M: c" D6 X$ q6 ^
  31. & r5 _8 c% q/ j* M: q
  32. 滚动偏移:
      [8 Q5 P+ K" k* {. s8 a5 L, e
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 606 ~# k3 M9 A7 H: {; a
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF# a& |9 }1 V$ O0 x; M" j
  35. " ?/ A, i" p- T3 H' I
  36. $ v1 I: r2 Z5 @
  37. 切BANK后A000:/ ?0 J+ q) P( 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
    5 S9 h# p. ^1 i3 W4 o6 q6 x

  39. % u9 s9 R( d2 w' I- \2 v

  40. % ]- C2 y1 u+ T
  41. 6502 simulator:
    9 L$ B! g) U% ^% x- g3 u  w6 Z5 }
  42. PPU写入程序:/ R9 |7 Q. m% ~; d
  43. .ORG $A000
    : u4 v" u# w' m8 }5 X3 F( L. k
  44. CSP = $80
    - m# M, ]8 Q% U; ]1 @4 V0 [
  45. C0 = $81
    2 l2 ^7 Z3 w6 i- z; L8 ^6 z
  46. C1 = $82# C- R1 d" h8 n3 t, [) h0 `
  47. C2 = $83! j( c2 l& ?* ^& p( K+ y' N; L! }
  48. C3 = $84& K$ m8 Q8 N# H9 l
  49. C4 = $85
    - @9 b+ V$ t# ~$ p
  50. C5 = $86
    & h4 g. y4 H+ G/ x
  51. C6 = $87
    ) s; J0 g  g6 ^% ^- y" Q( p
  52. C7 = $88* ~+ V+ @/ a& @5 y8 P0 x
  53. C8 = $89
    $ r% J9 k( `( J+ N7 u  h6 [
  54. C9 = $8A
    ; j% ], x+ F# R  I% \
  55. CA = $8B
    3 M. k, K( e+ H/ o3 \
  56. CB = $8C
    3 y% O+ b" i' F5 N# e
  57. CC = $8D
    " D( j; G/ m6 T! u8 E+ i- W- `
  58. CD = $8E3 q# @8 M5 E4 r
  59. CE = $8F/ [, F' k* G3 X; E, g4 I
  60. CF = $90
    5 `' i$ n4 g  X2 K
  61. CG = $91
    8 D5 Z$ W) u* l3 ?: S& I
  62. CH = $92; j6 Z" \( C0 s8 K- K# ^
  63. CI = $93" Y" M& @% q2 j+ }2 x) o( p
  64. CJ = $94& v1 z1 x. t0 w# k
  65. CK = $95
    + ~% u4 E: P, b
  66. CL = $96) A0 F, n9 d5 X) |/ ]: ^6 Q) P
  67. CM = $97" a1 e) b" s8 @1 F
  68. CN = $98
    2 f8 R- }9 x! c& k
  69. CO = $99
    ; E% n$ m  f* }: c
  70. CP = $9A* O( Z* n' n& @0 Q
  71. CQ = $9B
    6 g9 e& k0 n' E9 x) i+ t
  72. CR = $9C
    : t( Z& [7 L1 R9 V% l% ^: F
  73. CS = $9D0 @% o4 h7 C4 c8 k0 ?2 }
  74. CT = $9E9 |4 D* A- c, n6 C3 |# w
  75. CU = $9F
    ) R: K4 o3 F4 K, l# y
  76. CV = $A0
    0 U+ C/ H6 j  T, Q! n4 A5 Q
  77. CW = $A1. [: e" B+ y+ \" A7 z  J0 K8 i& ^
  78. CX = $A29 P1 m% U0 x4 h* P: r+ ]
  79. CY = $A3
    % `( u( B! K" F- u+ [2 Z+ p
  80. CZ = $A4
    & g+ a' |- _  V1 z$ N7 W) }
  81. CEND = $FF
    : b. d" R" j: m! G( I$ Q& v

  82. ! z4 b# w0 i# M% O! c, G' R
  83. ' ]. x; d" C) Z1 C
  84. CMP_RE:; \: j* A" {4 A) c, k. l9 [
  85. LDA $FF3 e* i0 ~. x2 `) q$ R
  86. AND #$7F
    ( U$ X' _% A) p. D
  87. STA $20004 ?& Q; ]- W3 l, m: I6 m* j( x
  88. LDA $2002
    3 H1 R( G( K) ]. \' e- K
  89. LDA $254 y5 m2 j5 O6 K  H4 r+ l
  90. CMP #$01  x! k1 i8 w. E) p
  91. BNE PROREG& H1 a  H& e# c: ^
  92. LDA $F5,X' r" k" d+ P; K( a9 c5 i# I1 j, a
  93. AND #$CF" R) j  `- a8 O  }. u, `2 a7 @
  94. BEQ PROREG
    * c. H1 L# |- u; ]
  95. JSR PPU_CMP
    * I+ K8 f7 J7 n
  96. C_RE:
    ; p- E7 R6 _8 h
  97. RTS
    : g! L; X1 a8 M/ K
  98. PROREG:" q  I/ |3 p7 w5 U/ l& F0 d
  99. PHA: V" Z9 I9 ~- X- ^* |
  100. TXA/ u+ I1 k$ C. x, }! v0 }$ T$ S
  101. PHA: c" q4 d7 t/ C) |+ I: t6 e* n
  102. TYA* h4 g9 w! v) k" b
  103. PHA* a1 T& F' ?% H% F+ u, m; f
  104. LDA $254 m% x) Z, r% a' H$ M
  105. CMP #$01& x' \; v& c1 P- T
  106. BNE RE
    + i8 [$ m& H( {( R6 K; v, l
  107. LDA $010A% {0 Q- o2 c7 L* x
  108. CMP #$00+ G* S) ?( w1 y; i7 p: j
  109. BEQ P1
    - i" V$ g: j+ |5 J
  110. 7 [1 ^& [$ Y' c5 |# p: \4 o( D
  111. RE:4 N! E3 a# \% p; l2 K  O0 U
  112. JMP PPUWRITE
    " i# H/ `9 h$ O, ^! `3 \
  113. $ q+ ?# a8 B* s$ j! r
  114. P1:                ; 条件判断
    , }4 }$ C$ r1 j3 |
  115. LDA $7FFF4 X: l" F! D, Q* K
  116. CMP #$FF
    % O+ ?7 f- [- |
  117. BNE P1RP( }4 [* H1 N2 U
  118. LDA $7FA0
    8 R  w! I( w  W. c0 i- K& O0 |# W, [
  119. CMP #$001 w+ J; B' g+ ^- W4 A: N% T! X1 T% p
  120. BNE P1CMP/ [1 I' i+ E3 R  N
  121. LDA #$FF1 p6 y6 \' V: F- z
  122. STA $7FA08 {1 P9 y$ M! U8 |1 y$ z
  123. JSR CLEANA
    0 Z$ ^3 @0 C; r9 R0 n9 h7 K; i
  124. JMP PPUWRITE
    % j* ^2 H0 y2 ]2 l  o
  125. P1CMP:
    . ~" g& Z" {# X* P7 k% |- Z- R
  126. LDA $7FFF% ^% `* o, J3 b- c& w* L0 V
  127. CMP #$00+ ~$ I* g* G1 Z  e# [0 O
  128. BNE RE
    ( ~3 f8 f% _% i  i4 N
  129. P1RP:
    6 Q) ?' d7 `) d' W9 `1 a+ r6 @
  130. LDA $2002
    $ r) y4 ~3 q7 Z' E9 F
  131. LDA #$00! J' Y( b/ h, {# ^+ x# r
  132. STA $2001
    : Q* N! v0 `1 I8 x
  133. LDX #$008 v3 ]4 {" ]2 T# j2 D) j
  134. LDA #$FF/ e* m. b- J1 J0 |: |4 P
  135. STA $7FFF
    " j" I( i7 Z5 O; x7 h
  136. STA $7FA0
    ; l, @& r% b8 Z5 p2 c
  137. JSR COPYPPU* u9 ]3 K+ ?7 s
  138. PIRP2:# t" H/ I8 E1 S& T
  139. JSR CLEANA
      |% \# z! i0 G6 ^% g/ g4 g* Z: N
  140. JMP PPUWRITE2 t2 ~1 i6 Y( I" A3 l) b
  141. 2 i* z- W  t# W
  142. COPYPPU:3 a( X/ z. u% E' h7 p! K
  143. LDA $FE
    % b. B  A5 Z9 u/ u' C; f' y' z
  144. STA $7F50- Z, z, ]5 n4 ~; Y/ Z. D9 ]7 q
  145. LDA #$08# q0 h8 [+ d; U7 A' H" B1 O
  146. STA $FE
    8 \' p7 x6 i0 q0 J5 z1 t
  147. L0:9 p/ w5 `8 y5 M. l
  148. LDX #$00
    ( Q8 d% w8 a7 F4 s# d
  149. COPY_07C0_07DF:
    + E3 y( y" Y* f  j% h
  150. LDA $07C0,X
    ; [" p. N# ^( F
  151. STA $7F00,X
    6 L4 A5 F7 h+ s9 [
  152. INX/ t8 }" I5 @% [, \8 C; i9 D
  153. CPX #$40
    : Q* `- Q! b0 G2 u
  154. BCC COPY_07C0_07DF. b, ]' U8 L% v5 {. i4 P, U
  155. LDX #$00
      G5 w% `/ V& X9 G4 `9 m
  156. PPU_07F4_07F7:) f. V. p5 N: l; J$ [) G; A) Y3 w
  157. LDA #$00
    4 s8 |5 m: h$ Q+ g, B# R+ s
  158. STA $07F4,X
    * j. c$ x2 g$ @
  159. INX
    . ~- d  A" S$ I  o) J7 Z1 ~
  160. CPX #$04. h0 o% T, t# `5 R$ E8 K
  161. BCC PPU_07F4_07F7% u, s" G, Z  L3 H7 Q
  162. LDX #$00. I% n4 v# t* e3 E
  163. COLOR:+ a: j, N4 x% m  d; z
  164. LDA COLOR_DATA,X$ e- W) j2 J2 T3 Q; O
  165. STA $07C0,X
    6 L- m1 q9 r; S7 J0 ^3 S
  166. INX
    / ^' t) p( \' z" l/ O
  167. CPX #$10+ f! B2 c' j9 X# Y
  168. BCC COLOR
    ( `9 F/ Z1 T$ ^
  169. : Q8 o: @: f# J5 N
  170. PPU_COLOR:, [$ f! o, p$ j
  171. LDA #$3F
    2 ]: L) ?+ x2 J1 V" h( W  R
  172. STA $2006/ q3 A3 G! d) q5 k' X
  173. LDA #$00
    1 Y5 n% G3 h8 M! o( g: v3 _
  174. STA $2006
    % b. P, h. C3 ~( ^* p! |
  175. LDX #$00
    1 j" Z% l; |; C' N+ w! k
  176. PPU_COLOR_W:) d0 h3 E7 ~# g* p" B. R
  177. LDA COLOR_DATA,X( a* ?1 ~$ o+ f# b. c
  178. STA $2007
    / X: H2 @; _/ _$ |
  179. INX. X2 t& |: {* Q+ ]0 F0 L8 Q- ?
  180. CPX #$105 \/ B8 Q6 T2 @% t
  181. BCC PPU_COLOR_W
    2 h; @. ?. p& M$ {. w: s5 {

  182. ; }3 T' [9 [; p' @, [. R7 F! a

  183. 9 S; J$ r9 c3 Q' I+ _
  184. LDX #$00
    , M* C4 T4 L  G: g, J
  185. LDY #$00
    # G2 w* a: b$ `+ [- J! Q) W
  186. LDA $BD' N& P& u# q! z
  187. PHA$ ?& t% c1 p) _$ y" ]+ J! ^
  188. LDA $BC% X2 c' Q8 ^/ O  w& w) n- `1 L! X
  189. PHA
    & n9 P* v4 z- }  |+ J
  190. LDA $BB
    1 l9 J! P5 n& X! ~
  191. PHA
    8 k8 [# L" G/ }: r4 s
  192. LDA $BA* o: s6 u& \; _6 Y: U/ J- z# B
  193. PHA( H; G* d) T  n; s2 P6 H
  194. LDA $B9: u3 `$ B* C, F# C) f" m
  195. PHA
    : L4 b3 }% i7 ?7 E8 z
  196. LDA $B8
    , c, U/ \* T! c) V9 p
  197. PHA3 x1 r4 Y* u' e7 n% b' f# z$ {. X
  198. LDA #$00
    ( \# ~+ x2 x  k* e
  199. STA $B8
    3 G( H& v4 }7 p7 i- @% ^/ G1 h0 v, {- q
  200. STA $B9
    ! u9 Y( ~3 Y. m; E$ D, Y. f
  201. STA $BA
    * y9 w: I/ M" m% f* J
  202. STA $BB; O. {6 V8 B+ c) H) g! |
  203. STA $BC" T6 J& t, F/ R$ s' |: R
  204. STA $BD- ?# H& E2 O) H
  205. LDA #$00
    3 f" I! P1 x7 Y
  206. STA $BA
    - R" y  x! f; T+ S! v
  207. LDA #$20/ a. E/ L: p8 q* f- f0 w/ P9 Z4 S
  208. STA $BB
    . {) O1 u% j. H7 N6 {
  209. LDA #$00
    3 @& k$ o. ?! b1 }+ ]
  210. STA $BC
    $ Y: {, P$ J: e, N: H5 p
  211. LDA #$60" g9 L6 ?! n4 \7 E" C" C7 ^
  212. STA $BD, H5 n) `5 n0 V& V8 Z: u
  213. , v0 ~6 e1 }9 ^& i8 ~
  214. L1:                ; PPU复制
    ) q5 L: e1 }/ a; n4 d* [
  215. LDA $BB+ e. `+ }! u4 H) }
  216. CMP #$28* P" b, K) x+ R) Z3 ~" e+ ?
  217. BNE L2
    ' k* F4 K2 J& c* |" k
  218. LDA $BA
      B1 b* }+ O( p7 h
  219. CMP #$007 F8 D* _* i" t# A
  220. BEQ PROADPLA0 c6 G3 _% Z! C" K: `" P5 D
  221. ; t: Q3 o& N( f* E" t) b+ t' `
  222. L2:& X9 J- j8 p( V3 d9 c' i& K/ M  M
  223. LDA $BB
    : q6 Q. N! z+ A3 Y) A- f
  224. STA $2006
    " S. i" h* z& Z0 ]
  225. LDA $BA" l/ B* d/ r2 i5 \7 F, A4 q* C
  226. STA $2006
    * m! r* L; V% @1 v' F

  227. ( U0 H" _. k3 E9 H3 I
  228. L3:, Z3 T. x$ l) _, j8 {' X  B6 @
  229. LDA $2007( C2 Z3 N: h4 |( ]( l! c% |
  230. LDA $2007
    " i! s- H& E; ?, [
  231. STA ($BC),Y
    4 u. O9 m8 \/ i9 b5 W; {
  232. 0 g& _& O% c  [) a! I2 k
  233. L4:
    . V$ q: ^% H1 ?; f: D
  234. LDA #$005 m* D  l2 @/ H" U# D& L  U
  235. STA $20004 F9 t' Q$ X% ^- k3 [' R
  236. INX
    " _9 V( k9 x+ t7 u2 w' c0 z" u
  237. INC $BA6 F/ U! o4 A2 B3 }$ _
  238. INC $BC4 }6 ]7 R5 b: x3 ^
  239. CPX #$00
    1 Z, ]/ P; Y& p$ q: ?, I7 ~
  240. BNE L1
    - q. K& k+ J0 M) R  o
  241. INC $BB
    1 k* E7 `) C: C
  242. INC $BD
    1 D1 V; f7 p: S' p
  243. JMP L1/ m" o! F- o* L7 h; Q2 }

  244. 7 W' H4 L4 f+ }3 A* L, K/ b
  245. PROADPLA:                ;出栈
    , u' }) A, j: R  }
  246. PLA) C- l# x; Z; N7 B) \9 H
  247. STA $B8
    ) E& o" t# i% s. x1 K: ^
  248. PLA) c* K7 h8 A% ^5 X9 x+ V! n
  249. STA $B9
      r2 i7 c+ G) y9 y+ U
  250. PLA2 c- ?+ \8 x# s( c* x
  251. STA $BA
    ( h% o+ l% ~4 @( {, u, G3 m% R. j
  252. PLA
    ! [7 e6 Y9 J% K! v; W* a
  253. STA $BB
    4 Q: M0 T9 m# d, b
  254. PLA4 n/ q& ?4 ^) b  d' F
  255. STA $BC$ q6 t$ U2 `: u* s6 c$ t- S
  256. PLA0 M0 c, c7 L8 x9 i8 f0 F
  257. STA $BD
    / o; ]+ _# ]! P
  258. CPRE:: B3 a9 @0 I& w) m
  259. RTS
    $ }! Z" }& m" I

  260. * d3 q: ?* `0 H1 Q
  261. CLEANA:                ; PPU清空
    4 {7 T( n2 D# I5 u: ], {/ I1 J& h& r, |
  262. LDA $BD  X* o# P, E8 z
  263. PHA' `+ j" ^+ u7 P4 H9 c& u
  264. LDA $BC- g0 o# J! N5 Q, O
  265. PHA, m2 D& i& A0 B$ H6 \3 `! c% Y
  266. LDA $BB
    ' Q$ F/ j# p( c& \' C  h2 z6 g% n
  267. PHA
    - I; Z2 R6 x0 O6 K. |
  268. LDA $BA
    2 j# }, Q/ H+ p
  269. PHA" G& p% f- U  D% ^( J
  270. LDA $B95 M( i0 t! X# o  H. K: V; L
  271. PHA  \1 x  A! d* [3 g0 a( [  }
  272. LDA $B84 {; `* Y5 a- l8 }
  273. PHA
    ' t5 Z* e( E, z7 b  l# h
  274. LDA #$00# s% ?6 G) ]9 }  A$ ?
  275. STA $B8
    4 G% K# x9 t: ~8 Y4 t
  276. STA $B9
    ; H6 Y3 k" C2 Y. p) Y
  277. STA $BA" b0 }; o% _0 \1 I& U3 _
  278. STA $BB- ]0 o/ ~9 v) i$ V& F. k
  279. STA $BC! I  Y, E; u/ L' ]3 u" K" ~: O
  280. STA $BD1 S5 C! M8 D( I" e6 X; H" }8 w
  281. STA $20019 m. a8 ^9 f7 v
  282. LDX #$00! Y" W7 ?& e6 U% {/ [3 D
  283. LDY #$00
    ( o" k) p3 d. X! t( H, F
  284. LDA #$00
    % a3 F" a. v3 l& u( [; @2 Z" [
  285. STA $BA9 U) l+ S; E% T8 c$ `
  286. LDA #$205 c. B& ~; K. r& n- Y* F1 w) e4 B8 d% n
  287. STA $BB2 k+ }! Q" a) K! K3 |

  288. 9 b3 F0 M5 w$ p" I' B
  289. CL1:/ r3 d* s, F& @
  290. LDA $BB0 Y/ T. l  |. _
  291. CMP #$28
    . ]0 B" l" }' j3 s  b
  292. BNE CL2
    ) L9 k: o4 t& w) r, m
  293. LDA $BA
    " W  c6 Z4 M; H
  294. CMP #$000 ^. q( }/ w" _2 J, @  V; i
  295. BEQ FREEWRIYE! `  }& ~( s5 w$ {$ ~1 }

  296. 6 d6 ?. a" B* ?& j* r& W6 Q
  297. CL2:- Y  Q& ~1 ^9 ~1 S9 _: ]
  298. LDA $BB
    1 t4 T$ }) d: S9 z% r9 n; p
  299. STA $20061 `8 [' J8 [2 z; f/ \7 s
  300. LDA $BA
    - `3 r+ {% |8 O; s
  301. STA $2006
    6 G1 p& s" t& u9 [
  302. % |- e* @) O) o5 Z4 `  T
  303. CL3:
    4 z3 }. |2 z8 @: J: ~0 }. ~; ^
  304. LDA #$002 A8 S% F' Z9 ^' f
  305. STA $2007
    ; M4 z& ^7 X) y' E
  306. , s* W1 ?4 d$ M/ s8 o1 q+ \/ S# ~
  307. CL4:1 P3 N# H! W+ W( C  R/ `, ?
  308. LDA #$00+ ~. X) Y5 l/ M, w; m0 L9 l8 N
  309. STA $2000  f& r* ]+ l5 p+ z: y  p" @. C' X
  310. INX- \8 {- v  e3 l% W; i6 u
  311. INC $BA* z4 {* i( ]6 Z6 U4 Y2 t; K
  312. CPX #$008 t3 f5 E2 p0 J% |# b
  313. BNE CL1
    1 `! j  J+ Z. \( ^2 L( G! @
  314. INC $BB( ]: O6 _4 I; v" R. [' b
  315. JMP CL1
    - A# q/ y) E! _2 F1 i. l* y) ?
  316. / u. P! N# L9 K3 d

  317. 6 w, z" n, A! Q5 x0 v/ i
  318. FREEWRIYE:* e/ \% U- z/ T+ O- C. O

  319. , U# B, D8 O7 d# D3 T
  320. NOP
    # X. _- u# G6 H

  321. + v1 c1 n) x/ J! O' Y. V

  322. 6 E/ h/ P* k; t8 V

  323. 0 @1 L6 M3 n1 g7 P0 A

  324. ( T! e9 g5 y# q. V( o6 i4 H
  325.   P* }; C1 [: f* R# }
  326. CLEANF:                ; 恢复现场
    # v$ o; |8 o" n4 o5 \
  327. 5 @( ^/ s- J- S: @
  328. PLA
      v9 O& m/ X6 g1 ^9 i
  329. STA $B83 _: N+ P) U6 w
  330. PLA$ Y* s# m1 Y' M( }3 ~
  331. STA $B9
    0 _- b2 u8 X7 }$ ~) m* U
  332. PLA
    * b7 F2 A+ V' [- o0 Y0 {! [% m
  333. STA $BA' b. D% e2 t  L. l! f
  334. PLA
    & |+ ]. M2 i. s7 t
  335. STA $BB; h' L; J! K" [/ E
  336. PLA  m, R: }% ^1 N( Z* Z
  337. STA $BC% k7 N6 n  a5 h4 e& N9 G7 y
  338. PLA. H1 }8 v. V; d7 v
  339. STA $BD
    # j! u+ d) X0 f5 p8 \- T
  340. CLRF:2 _1 I) Z5 @7 E& S4 M2 X/ J4 Y
  341. JSR FREE_PPU
    9 a  l) b% [) a
  342. RTS
    + q9 G7 n7 G7 b+ u8 [% C( |
  343. + p+ }, h. p7 W/ V! U2 }9 T
  344. 7 [" H$ a* m7 Z2 i9 D7 p0 K' x
  345. PPUWRITE:    ;PPU写回6 U  r$ c1 P5 k1 y
  346. PLA
    : i5 g/ g0 w! ], k" w% r. G
  347. TAY$ h6 ?) S1 H# A8 ~
  348. PLA" V6 M! M8 p3 n: @9 e% Z
  349. TAX8 D. N% Z" ?( s% f8 E6 j. n, O
  350. PLA0 h7 s7 p: g& a2 `0 @& \
  351. LDA $25
    ! H/ r7 i. A# ~" T) n: ~3 P$ q
  352. CMP #$00% D9 ^6 M' H, ?  C- M
  353. BEQ WP16 M4 `0 P5 ^; r
  354. LDA $25
    . f7 ~# H4 o4 i) k6 ?
  355. CMP #$01
    * t/ t* `! R( g$ G- H
  356. BNE WRE
    6 r- \; ~5 z! v2 U  ?5 t4 `& y
  357. LDA $F5,X0 O) [0 G7 A! c- i, w, Z0 ~( R
  358. AND #$EF7 t3 n( s2 Y' ~
  359. BEQ WRE- o* g- ]! X. x* B
  360. LDA #$00
    9 D' L$ a+ ]: E" t, U
  361. STA $7FA0
    8 s8 ]- D- c+ {

  362. ; _( [& u0 P$ W
  363. WRE:1 e7 h& p; c! m3 d% C" j4 f+ r
  364. RTS5 d7 P0 {1 W5 w2 c/ h$ \

  365. ; a& s) p! }6 z1 N
  366. WP1:3 ?$ z% ~( o3 t4 v! s
  367. LDA $7FFF
    . [2 e: t0 [5 T: b  h% \
  368. CMP #$FF
    ( F& `  q9 \# }; N1 g5 h$ b
  369. BNE WRE% `% B' X2 g. H0 `- S# R; }
  370. LDA #$005 j$ e5 F$ p" y9 }4 e+ R4 u
  371. STA $2001
    : ]6 i; I5 ?4 s
  372. LDA $BD# H% Z) B. S& ?' m
  373. PHA
    + x8 G7 b. m; A9 |. D/ w
  374. LDA $BC
    * J6 S( b: L- [: Y3 F# S
  375. PHA
    * `5 f% a9 f/ b5 x/ p6 E8 p+ D& p
  376. LDA $BB
    0 |% ^8 V" S( F& \9 e/ c5 ?/ D
  377. PHA
    " [+ a; |' D* ]( b
  378. LDA $BA1 L5 n8 L' T& R- G8 |: T
  379. PHA
    3 C& Q5 s6 B; Z, `. B
  380. LDA $B9
    ( O# j! v! U. _9 [8 d6 e4 v4 E: V, z
  381. PHA
    : B4 c2 L9 S! D! L* r
  382. LDA $B84 {# p# H8 ~, G. R8 h7 Z- e
  383. PHA
    # v3 |( z/ @; A: [
  384. LDA #$00
    2 e, j2 ^8 P+ t5 D. D( [
  385. STA $B8
    $ S" l5 K5 Y' k% j$ O. W9 \
  386. STA $B9
    5 u; l8 S% D9 P8 j7 N9 l9 Z( Y
  387. STA $BA
    4 O7 q- |/ F( ^- z% S
  388. STA $BB+ `4 `$ y# N5 I/ b2 V8 w
  389. STA $BC- ^& |8 Q3 i2 L9 z/ b* a3 e7 g
  390. STA $BD+ l: ^8 ?" c/ U# B
  391. LDA #$00
    + H1 g  ^0 j4 r) T4 T* M9 L/ A
  392. STA $7FFF. ?4 ~7 W; X) J" a; s
  393. ' j# w6 L: a9 n- g0 _: H% @
  394. WL0:" @, I# P. ~$ U" C1 T8 `
  395. LDX #$00
    ; ~" I* t4 P: B* N; q
  396. LDY #$00
    - q' a0 w( `! t6 `9 L
  397. LDA #$00
    ) V1 o  z8 l7 H5 a6 z; D
  398. STA $BA
    0 a6 Q& b; J9 R, `# A
  399. LDA #$20
    ' F% d4 W4 D/ p! |. v8 C
  400. STA $BB  N1 O0 }; [# P7 x9 D0 `% C
  401. LDA #$00
    " F* k. |6 Y) ]7 g( f0 W' t
  402. STA $BC4 P6 \, p+ j+ v; {% k
  403. LDA #$60- `& O' C7 c% V* T
  404. STA $BD% Y: h  r4 J' V/ }% q! D

  405. ' w% t, D  F: _/ `$ y" A, b5 K
  406. WL1:6 `$ f7 W, \. l. e8 J
  407. LDA $BD6 L7 s: q9 s- `
  408. CMP #$68
    8 s& u- \. T  d; e* ?9 q8 ~/ o9 }- x
  409. BNE WL2# T  T: f8 I5 f
  410. LDA $BC
    " K/ Y9 l) Q& W$ h7 k' {7 E
  411. CMP #$00+ Y4 P( `# C$ A' o. E6 f
  412. BEQ WLR% a# L; s$ R0 A- F& W$ `! D/ D
  413. 2 a2 U0 ]8 o+ K3 S% y' w
  414. WL2:: c9 [! x7 B7 w3 m. L
  415. LDA $BD
    1 B$ r* n0 @7 K% q/ e
  416. STA $2006/ Z4 ^2 h6 E( h/ J' C' p4 d
  417. LDA $BC* s8 X& _1 {. k' m
  418. STA $2006
    + w7 X. u- x' Q( B$ V
  419. 0 r; e2 r. c+ O5 ]9 m0 ?5 l* p: B
  420. WL3:- ~5 i. t% ]4 P/ }8 U
  421. LDA ($BC),Y1 Z. e1 G. D, k+ e' O$ p( E
  422. STA $20072 Z/ a6 V, M! `- A! y
  423. . t# p% e8 K  L1 {
  424. WL4:
    # }8 K: T/ n0 Y  K" G
  425. LDA #$00$ k0 K: M. p7 z- m' n( E6 N
  426. STA $2000" T% T6 r. r' D7 q& _1 f* i5 a
  427. INX# F$ f# N' e& T  K& r' s4 X
  428. INC $BA
    2 w8 P. `3 X2 T7 `( {
  429. INC $BC
    9 @; `' W& C3 [: a
  430. CPX #$00
    9 n% ~5 ?; u, r$ K" O
  431. BNE WL1% |8 |  X0 F9 D4 Y
  432. INC $BB
    ' @# _1 p" `2 e+ o
  433. INC $BD
    % W# n1 p- i7 o+ ]4 E
  434. JMP WL1
    , H( c, P6 f2 y/ s' D: B( d
  435. 5 X" s! ~+ c; u- @; u$ Q- B
  436. WLR:
    5 H+ d% ^$ K/ n3 ~6 o
  437. LDX #$00
    / ~; E# q" V# N
  438. COPY_7F00_7F3F:' ]4 P  v. b' F
  439. LDA $7F00,X
    . M5 x& L* ]& }3 L8 D# v
  440. STA $07C0,X
    8 a4 L8 V$ X' V. ?6 v
  441. INX9 W7 `! K: ]% T5 ^7 h4 _" {
  442. CPX #$40
    2 q5 S+ b0 ^" s  }; m
  443. BCC COPY_7F00_7F3F+ H/ a5 `. m# G; ]6 N3 ^

  444. 6 h0 U" u: S  k1 R' a! ]. ~
  445. LDX #$00
    1 p$ g2 @" o" V
  446. LDA #$3F+ ]+ ^1 G) }' ?, N
  447. STA $2006
    1 }/ C# k" x9 [4 X$ y+ i
  448. LDA #$00
    6 C3 H. j: z0 j4 Q; o) k
  449. STA $20067 z) E2 d" X( V
  450. COPY_7F00_7F10:
    / d) N1 K# C- S% w; c
  451. LDA $7C0,X
    9 p) E- @/ k6 v0 |) D3 C
  452. STA $2007. `) u/ u' t7 i, g
  453. INX7 C; T. U/ d# _' k- d8 R' h
  454. CPX #$10- D" |  v# Y' T3 B2 d
  455. BCC COPY_7F00_7F10
    * w' s+ ]! b0 i- ]* f

  456. % s  N  k# {0 Q. f$ E7 T  @0 H
  457. LDA $2002
    + U9 q( F8 ?3 W- Q- J( I, u
  458. LDA $FD& t9 d) @- h" A  p7 O6 t
  459. STA $20055 T) s& f- r. S8 }
  460. LDA $FC
    % j4 Y" M3 C& H
  461. STA $2005; Q) y9 Y9 |4 `% Z
  462. : [& y  j  B# G5 Y, X
  463. LDA $7F50) u/ e- y6 ~# ]- A$ M: y
  464. STA $FE$ p2 [$ `% _% ~; ~( s! \. H
  465. LDA #$00/ y& p, Y+ k. |4 R4 j9 |
  466. STA $2000
    ! o0 {: M- U$ n1 ]/ |
  467. PLA
      u* V# R1 _* Q% c) Z; Y' x' K
  468. STA $B89 [! ^8 B8 S* X5 Y$ R2 P* [' C
  469. PLA1 s: {, K/ @9 ^/ \# d2 T
  470. STA $B98 ^3 ~" M9 O3 z$ r8 @8 K
  471. PLA4 j% R# E# u7 u. J- V2 c( i; |
  472. STA $BA7 R6 Z$ D2 d3 G2 x4 d
  473. PLA8 G  K$ g0 P$ e6 S  \" O" z
  474. STA $BB
    5 X+ K  z3 w/ A5 q# ?0 W/ i: i
  475. PLA
    ' c* R- z. R. k
  476. STA $BC' D( w" |6 y" i  B8 x- P) S  K) |- z
  477. PLA) Z9 s6 s( w3 k6 ]5 G
  478. STA $BD1 b' E$ u; }8 M; X1 x6 q
  479. - v  O  A2 K1 u4 U" y1 z
  480. RTS
    8 L8 [7 Q& C6 z8 i# D* }
  481. # ]. Q, T1 @4 H& Z0 Y: }3 u
  482. PPU_CMP:9 x# l; j: [( \: P2 a, m# Z/ Y, s
  483. " y2 X- C4 A4 K( ~& Q
  484. 6 X/ F# |0 D& \7 U: `: Z" L& P
  485. PPURE:
    0 Z, i+ T; i6 t  U* L5 a1 a
  486. RTS
    $ M. m5 P8 b: k* z9 ^  {0 x

  487. + ~( }1 ^) ?: Z% a5 E' u

  488. 6 k; t& r: J2 i& u5 I) [
  489. FREE_PPU:
    ) o% _" T( R- Z* r9 n  f# p

  490. & P1 X, T2 m3 @1 s% f6 W
  491. JSR TEXT01_PPU
    * `) |+ s7 }: {1 P/ k0 C) n
  492. JSR $CBC0) h. c) |9 B6 y+ H: k" t  U7 q
  493. JSR P1_PPU% U! p( x! Y( v0 l0 H  r1 S- T
  494. JSR P2_PPU
    % ?8 ~- {2 y- V; h  x
  495. RTS
    ( o5 N% K+ h6 M6 I/ V+ Y# o

  496. 2 e  n' e) D8 t" y7 n& a* J
  497. TEXT01_ADDR:
    * S4 ?0 k* S& z/ D' T
  498. .BYTE $20,$42
    ) T# ~4 o( i  z4 [
  499. TEXT01_DATA:
      E# Q) |4 W7 f( L- f$ d/ L
  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
    . e! l- x+ f6 B  v% W3 [
  501. TEXT01_PPU
    - k) M. V1 K2 A6 i
  502. LDX #$00
    - J% L0 m- }8 ?) r- q+ K- l7 `
  503. LDA TEXT01_ADDR. e: k/ y9 q" v8 T" F
  504. STA $0703
    , D* t0 g4 C% L8 X6 T. U
  505. INX
    " r  t0 @6 p( z! s
  506. LDA TEXT01_ADDR,X
    , @5 P: A8 X" R( i  I8 u" t
  507. STA $0704
    4 i! e) ^+ X" M6 [* J$ H' z6 X
  508. JSR PPU_PROCESS, E1 L4 {1 L) S" n' `4 F5 M! U
  509. TEXT01_W:
    3 J% R: y$ u* C  f2 `% I' [7 ~* `! w
  510. LDA TEXT01_DATA,X/ ?( H$ ?) W+ K8 [# {
  511. CMP #CEND
    1 S* A+ z% I3 [) e  G2 f% X
  512. BEQ TEXT01_START
    / _; l0 g& g" C) o3 z) c
  513. STA $0705,X
    2 U1 J# [! `9 g9 W, o& O
  514. INX% Q. U$ X9 ^  v  k) G1 E/ h* n
  515. LDA #$00
    % K! }5 b7 M9 c' y# B' f0 r
  516. BEQ TEXT01_W
    4 x3 B/ r0 G* L9 ~9 r
  517. TEXT01_START:
    : G, n5 \6 ~2 I$ m
  518. JSR PPU_START+ P7 r' Q& |. f
  519. RTS& F/ z8 _( A. D+ a, H2 v1 l/ Q
  520. / k( C  b: v+ t6 o$ i
  521. 2 X/ Y4 C5 G  d! H6 F
  522. COLOR_DATA:
    ( x% k) [7 V' N6 w
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28, |& V7 v; i/ k# \5 H; |" h
  524. 2 ?, {% C3 }5 _
  525. P1_PPU:
    . y* X# _4 C4 @' g  N) b
  526. JSR PLAYER_01_PPU, k- n: A2 [/ P4 A; R! C! ?
  527. JSR $CBC0. Q! c. L- T, @/ q6 n; {
  528. JSR RELIFE_P1_PPU
    5 T" i$ O( K$ \2 [' d
  529. JSR $CBC0
    ( ]; q7 h5 z0 Q( r; J% m4 c
  530. JSR RELIFE_NUMBER_P1_PPU
    . X. `9 R8 T) `) C8 {
  531. JSR $CBC0. [8 i& H1 Q% x0 e6 ~4 l- ^) j
  532. JSR WEAPON_P1_PPU8 L+ @* x( @: h0 I$ ^2 \) h
  533. JSR $CBC0
    2 d: p2 y5 m6 \
  534. JSR BULLETPPU_P1_PPU
    3 u) N9 C; c3 {0 H9 j) h+ O
  535. JSR $CBC0
    ) F- x! A9 O3 n; V+ t5 ^6 ]+ I
  536. RTS
    ( @+ u6 ^- d' T
  537. 1 B7 e' k- N# j' e. n& a
  538. P2_PPU:
    ( f# Z- ?/ Z" ?
  539. JSR PLAYER_02_PPU
    $ X9 ?: N2 J0 G: {
  540. JSR $CBC0: P# X  O5 _* U& z
  541. JSR RELIFE_P2_PPU/ e, d5 m$ F, V. A" h. Y# {
  542. JSR $CBC0
    ( }5 W% @% [+ }8 C6 I9 _. S
  543. JSR RELIFE_NUMBER_P2_PPU
    " K8 k% T2 b0 g. Z' T$ _! g8 z5 ~
  544. JSR $CBC0( B+ F6 M: U8 G* \7 R+ P; b6 a" x, {! X
  545. JSR WEAPON_P2_PPU% T1 u# R, Q+ @/ c5 B: {' e2 P
  546. JSR $CBC0
    ; q# H  p" O% d6 H3 L4 p) O. l
  547. JSR BULLETPPU_P2_PPU8 O! k* S  D! _* p3 D! x
  548. JSR $CBC0
    ; t6 A( f- L: U
  549. RTS* P& T. j5 }& D" y6 K* ?& s! a. h
  550. 7 a, ]# r- F# T5 S& w* f" l

  551. ; U4 c% X3 q2 w( N& v

  552. - B3 \" u  U* {1 A
  553. PLAYER_01_ADDR:5 G& V& }$ I6 X/ j, r6 B) y8 J4 g
  554. .BYTE $20,$A35 ?9 i& Z6 l. q) w, W- a) k
  555. PLAYER_01_DATA:! d/ @; [6 h: J. z
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND
    6 X; O' ?; U" Z( {: k0 F/ {
  557. PLAYER_01_PPU:/ }( _% J. x* }; |
  558. LDX #$002 v! l$ T$ F2 Y! S
  559. LDA PLAYER_01_ADDR2 g! ^8 Z9 p0 S! @
  560. STA $0703
    4 T) o% D& Y& Q9 Y
  561. INX
    ) l2 R) a% P6 o# r( u
  562. LDA PLAYER_01_ADDR,X
    - L. D: ?1 C! G/ q
  563. STA $0704
    - S8 p% S! g0 _$ Q
  564. JSR PPU_PROCESS! J7 n3 Y; a$ \! v
  565. PLAYER_01_W:; W! U! Z5 O5 Q3 v2 M3 I( j7 ~: k
  566. LDA PLAYER_01_DATA,X7 a# a0 G! k7 A. Q/ v% q% i
  567. CMP #CEND
    % _; D% g' L5 `
  568. BEQ PLAYER_01_START* }+ N1 e' V1 P% G8 M
  569. STA $0705,X
    9 J1 C( c3 g+ l2 v8 l% a
  570. INX3 w5 u1 J/ A  Y
  571. LDA #$00
    : y- N- j6 {# S5 a& G
  572. BEQ PLAYER_01_W; J4 n/ h2 B# Y5 x
  573. PLAYER_01_START:
    7 ^) a+ t" x9 z& }. w6 L( d
  574. JSR PPU_START
    ! N" g  @" G6 H% q
  575. RTS
    0 }4 h. t& g5 e1 p  [2 h) A

  576. + k  x/ w3 |0 }, m
  577. ' ~; w1 b4 b. ]" h2 h: Q0 P8 y- Q
  578. RELIFE_P1_ADDR:
    2 B+ v: j" L6 _1 y0 m/ O; y8 O
  579. .BYTE $20,$E3
    : {. ~. A. e' X7 ]
  580. RELIFE_P1_DATA:9 }" U- A8 x8 X+ F8 r4 E8 A
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND$ V4 z. I% N: u/ o6 _
  582. RELIFE_P1_PPU:
    # u( v: m/ G+ }
  583. LDX #$006 ~/ m1 g1 m) |
  584. LDA RELIFE_P1_ADDR) k, K- L8 c! y) V
  585. STA $0703! d0 ?" K$ K* W, Q1 Q" W# a
  586. INX: Y4 m9 P- d4 _+ n& q
  587. LDA RELIFE_P1_ADDR,X
    ! p8 j$ T1 Q6 H
  588. STA $0704
    8 x+ G! S9 q5 ^% a0 j* P# b, x1 ~
  589. JSR PPU_PROCESS+ B+ \- n+ |& j6 V; @9 A
  590. RELIFE_P1_W:
    % d0 z+ N; B* c6 u* e% Z/ g, b
  591. LDA RELIFE_P1_DATA,X4 s1 u, r8 S( G
  592. CMP #CEND" a, u, a0 b; b# A. E4 S1 H4 V9 T
  593. BEQ RELIFE_P1_START2 `5 e6 _/ B& g3 K7 @0 e6 z8 q, V
  594. STA $0705,X
    9 D6 F. L0 i6 ^: M
  595. INX5 l6 l. m5 O  d8 g8 S1 |% E
  596. LDA #$00
    & W9 D. s$ `" o3 H, n
  597. BEQ RELIFE_P1_W: D/ W! F; S" L& h5 F
  598. RELIFE_P1_START:% F4 p. n% g7 V5 t) t  B! p
  599. JSR PPU_START. S, H& x" Z. c& C3 g' I9 t
  600. RTS- \0 B/ m- D" U

  601. ; t( N0 R& `9 A
  602. 8 v2 D* L7 H7 v) B3 j9 ~' e( j5 s
  603. RELIFE_NUMBER_P1_ADDR:8 z% C6 m4 i2 y$ A8 ^
  604. .BYTE $20,$EA  E1 A9 x+ ^$ Y
  605. RELIFE_NUMBER_P1_PPU:0 _% f2 H/ D/ S- d- I* ~# E+ i2 i/ M8 E6 F
  606. LDX #$00
      _& R& ~9 H9 U( C$ r- H, |
  607. LDA RELIFE_NUMBER_P1_ADDR
    , ^# h. M5 C$ m' [' T1 i
  608. STA $0703# f7 F) \; P8 d6 E" O( f
  609. INX2 E, I4 m) h7 r; o6 i
  610. LDA RELIFE_NUMBER_P1_ADDR,X
    6 F; X! }! K2 A0 C
  611. STA $0704$ J. p: _4 h: j
  612. JSR PPU_PROCESS# p& e  d( P3 w& k/ _& P
  613. LDA $324 d0 u7 M$ V: V- J% c4 X
  614. JSR LIFETODEC
    2 B; n  t  d/ ~" C* b" w- Z6 d
  615. RELIFE_NUMBER_P1_W:
    . C+ o9 c, P2 A0 }, S7 z
  616. LDA $7A03
    ( S# E0 T9 g, x( e; [. S
  617. STA $0705" G8 q$ a% ~$ R9 m3 V
  618. INC $0705/ c- ?! x7 C8 Q) K5 \
  619. LDA $7A04
    - c( S! V3 R% j; J
  620. STA $0706
    & E6 B" i( u) c
  621. INC $0706
    / ^+ Z6 T6 \1 A( {
  622. LDA $7A054 O' p5 M( \4 @* o$ l/ W/ ~  ~
  623. STA $07077 [3 p3 T1 Y3 V
  624. INC $0707
    % B& t( i% ]' l; [. X  {5 s- p& k
  625. LDX #$03- s4 Q: a9 z3 a5 s( q1 P9 L
  626. RELIFE_NUMBER_P1_START:, b: @9 h6 W- K9 o
  627. JSR PPU_START5 R/ G$ o1 L. ]5 h) d( U. t
  628. RTS- C" A3 Y  [( |& ~" @% T' S
  629.   O* c+ [2 ~3 N: H' n
  630. WEAPON_P1_ADDR:
    7 j2 K  K4 B! [" e2 W2 ^3 J  S6 b
  631. .BYTE $21,$239 Y( |2 {6 e' `! X+ r1 x9 K8 I
  632. WEAPON_P1_DATA:
    1 U' ]4 H/ S+ }2 V' L+ o0 k/ z
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND0 T- `3 Z) G  h( X
  634. WEAPON_P1_PPU:
    7 t+ E* e/ h2 e  H3 a' |. x
  635. LDX #$00
    ) q+ P6 X6 l" P2 {, C7 g
  636. LDA WEAPON_P1_ADDR
    $ j/ C  p% _0 ?1 X2 Z# {2 z
  637. STA $0703" G# [3 J$ m. J+ _
  638. INX  }" ^# {* [3 B. l- a- O" u. Q
  639. LDA WEAPON_P1_ADDR,X
    / A/ P" d" o1 I0 ]5 y3 S: W
  640. STA $0704
    % F) m! b# X2 f0 x: I
  641. JSR PPU_PROCESS
    1 X- I; G! e2 a+ v
  642. WEAPON_P1_W:# K# a0 b! w; V# G! C& W
  643. LDA WEAPON_P1_DATA,X, p; u9 x- u6 n! `
  644. CMP #CEND
    " N- F7 K3 \: z
  645. BEQ WEAPON_P1_START
    " ]$ k9 ?% p/ @4 Q3 ~; D
  646. STA $0705,X
    8 \7 v; N! m; L5 a
  647. INX
    4 H+ ^7 Z7 B; I9 p; a/ z  B$ B$ T
  648. LDA #$00
    7 T3 u* q( z8 S! }! f: O
  649. BEQ WEAPON_P1_W
    % F. J+ H7 ?! c# k
  650. WEAPON_P1_START:
    * q1 E: O; n9 N1 ~( e' p3 C: @* C
  651. JSR PPU_START7 Y5 l! {5 ?1 u) c9 t" g
  652. RTS
    9 [9 D" t* B+ W/ C7 u; |

  653. - f2 b, T. Q3 X- A1 {; D; U2 x2 ^& s
  654. BULLET_P1_ADDR:, j0 l% {; l& [% k4 r
  655. .BYTE $21,$2A
    - @3 c5 F2 I6 C2 {& ?$ @4 e! w$ `$ p
  656. BULLET_P1_DATA:3 R# A% Q. i% o$ i( c) A% p3 ]
  657. .BYTE $00,$01,$02,$03,$04* n: C9 R- U) b$ y
  658. BULLET_P1_NAME:
    $ C: \# E9 E8 Q( o) H  l
  659. .BYTE CN,CM,CF,CS,CL, {! h4 S/ {7 N8 U& [) P) c$ p
  660. 4 s( Y' `2 G- A) {9 M; f
  661. BULLETPPU_P1_PPU:9 x) y2 ?: R8 y) t& Z
  662. LDX #$00
    " p4 O. A) W1 B. b' |, f' |' \
  663. LDA BULLET_P1_ADDR/ H9 K0 v% i; Q
  664. STA $0703
    / }# L  y+ O; u, V
  665. INX
    8 i1 p6 N+ K5 E# s. {. s
  666. LDA BULLET_P1_ADDR,X
    1 M# b& c9 J2 G6 k. _  }
  667. STA $0704
    3 p- b6 \/ y: K  K
  668. JSR PPU_PROCESS3 D) G: I! a  _# e6 G* A" F5 Z3 W
  669. BULLET_P1_WRITE:
    8 Z2 x. t, C' W, E& W( k
  670. LDX #$00% S( }# g. U# U  D
  671. LDA $AA
      I3 w4 p# o& M4 _( h$ q0 }0 r
  672. AND #$10/ J+ ~: o( R( _% X: h1 i, }
  673. BEQ C_BULLET_P1+ M* a0 K" @2 m# G
  674. LDA #CS& x  m: X2 f" K/ |# I
  675. STA $0705
    . X" U# y% f* S& ~0 R' w" M
  676. BNE B_NAME_P1' {8 V# s9 D. i) ?1 s
  677. C_BULLET_P1:
    . u: Q" y& D$ C
  678. LDA #CC
    4 K  c1 n+ p3 z/ J- ]
  679. STA $0705- f/ q8 `; S3 T! U. i) _
  680. B_NAME_P1:
    / Y# }: l1 p6 k
  681. LDA $AA
    3 X$ w1 f+ E2 d+ E+ R5 z4 q, e1 S( n
  682. AND #$0F
    * ?9 y7 m( E7 {4 C
  683. CMP BULLET_P1_DATA,X
    : Q1 ]4 l* v, |9 O+ o' Y
  684. BNE B_NAME_P1_RECMP
    6 G6 W1 ^9 X9 s+ U" u) {
  685. LDA BULLET_P1_NAME,X
    : e! y/ E% V# O7 m4 N2 ?$ I4 E$ k
  686. STA $0706; Y+ G6 o- D) x# u' C
  687. B_NAME_P1_RECMP
    - F" l# {& u8 ]5 g  e  `6 @3 S
  688. INX
    * o9 |% j8 U- P* T/ ^
  689. CPX #$05' ]- o$ T& y' z9 R
  690. BCC B_NAME_P1* H& a3 P3 F) B/ o: y3 `# m) z" G6 H
  691. LDX #$02
    / {1 a4 S# O+ H! n8 f5 m3 e
  692. JSR PPU_START
    1 x: J% h/ h2 v) j. s6 H( f, j
  693. RTS
    1 T, t/ p7 n) y5 y
  694. ! U0 w8 v4 L- T( K4 p2 C

  695. + C! ~& S8 [2 i. X& G
  696. PLAYER_02_ADDR:2 B, B/ S% h% X
  697. .BYTE $20,$B3
    1 \5 Q" R7 h4 O" m3 `
  698. PLAYER_02_DATA:
    ! [+ n$ Z! y6 ^& d7 u4 G1 b6 H
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND; B5 L5 g2 ?* `: G* f
  700. PLAYER_02_PPU:
    6 a8 _  u& a; K
  701. LDX #$00
    2 @# z3 _/ M' i( V/ ?) r1 Y* [. j
  702. LDA PLAYER_02_ADDR
    1 W7 D, K$ A7 {# Z3 d2 Y. M- v
  703. STA $0703; M* i5 k2 `/ Q, |5 B4 U
  704. INX
    # _1 @1 L! X) e6 ?
  705. LDA PLAYER_02_ADDR,X3 h; [$ Y. b( K5 F1 ]1 o
  706. STA $07043 s) v6 O- i* ?9 @8 Z) P' e& j- g
  707. JSR PPU_PROCESS6 Z# |5 C1 R2 H- @  r' N+ f) W  q
  708. PLAYER_02_W:( u/ N: G6 O  J+ U- g$ ]- Z. T
  709. LDA PLAYER_02_DATA,X
    % q0 S+ w: s, e- x1 `0 A! w
  710. CMP #CEND' o, ~/ s) T4 m) a
  711. BEQ PLAYER_02_START' l6 I- A6 T6 B
  712. STA $0705,X% t: \0 r2 @/ I$ e: a4 @! p$ l" l4 z
  713. INX
    4 k; A# ~/ p( j% }# G8 v
  714. LDA #$00
    " C/ ~4 V& b% Q5 p
  715. BEQ PLAYER_02_W
    1 b. ^6 C) n6 \. K( p* k1 X
  716. PLAYER_02_START:
    4 |$ a8 z# F4 l8 c! x# z
  717. JSR PPU_START
    ' h: v' z9 D+ f( l: ^
  718. RTS& c$ h0 j1 c& j1 N6 _3 ?
  719. $ U6 @# d, |$ z/ |) y

  720. & ]( X$ Z& A2 W; K5 ~! I  v- p4 P# I
  721. RELIFE_P2_ADDR:
    % i4 J# q6 g  g) i" L4 \
  722. .BYTE $20,$F3
    , B# p# B  G* b9 W6 F# I! c2 Y
  723. RELIFE_P2_DATA:
    ( k; f" L% r* L) U
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    7 M7 d; g5 @  S- a
  725. RELIFE_P2_PPU:
    & j9 h, E1 c" X( b0 l' |( L* d
  726. LDX #$00
    3 z# X& C  y& p  W: ^
  727. LDA RELIFE_P2_ADDR; u$ |( N9 r( B& e
  728. STA $0703
    / x' Z- [. J7 ]8 ~  K# Y
  729. INX
    + i: X/ G# J2 Y6 {* p8 g# y$ g
  730. LDA RELIFE_P2_ADDR,X) [. h  A9 q# a/ w# S7 S
  731. STA $0704
    7 I7 z5 a: k) B- Q, k0 X
  732. JSR PPU_PROCESS
      _9 e8 e5 j5 l" z& q' z, j" b
  733. RELIFE_P2_W:! T4 [* ^" J. s6 Y
  734. LDA RELIFE_P2_DATA,X5 I1 ]# _" g/ V& z0 B# F! T+ t# m
  735. CMP #CEND
    1 h7 c% H7 w" V* T) M1 Z  O
  736. BEQ RELIFE_P2_START9 i0 w* a& b: Y! U* _* Y& N
  737. STA $0705,X8 h; W) x+ t" ?7 r8 e8 r( ?( E
  738. INX
    ) o8 q# ~4 x1 H0 x+ e
  739. LDA #$00. B$ Z4 t0 P. w/ Y) A4 F# h
  740. BEQ RELIFE_P2_W
    ) w/ N& I/ W/ O! j1 {& o
  741. RELIFE_P2_START:
    8 W7 ~7 F" U# R& j. U6 A! a+ l
  742. JSR PPU_START
    . M) V% Z3 i1 Q* [/ {
  743. RTS
    * z. \9 s0 G3 `( l
  744. : F# J0 L: [) A1 w7 v! j, K

  745. - ]( V; V3 f3 L
  746. RELIFE_NUMBER_P2_ADDR:
    * d, Q( S$ X* P3 l1 D" ^6 {1 A
  747. .BYTE $20,$FA
    ' g+ \6 l/ I! o6 r
  748. RELIFE_NUMBER_P2_PPU:
    1 u  H/ n/ d; V" B- G
  749. LDX #$00) t+ `9 X' M& T. k3 |
  750. LDA RELIFE_NUMBER_P2_ADDR
    5 L, `  C( z  _
  751. STA $0703$ f* U& k0 S( F
  752. INX+ K+ s! I8 l/ V( @& [
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    . Q; j9 X9 e$ L2 ^9 w& ^1 Z  D
  754. STA $0704
    9 A0 I) R1 y6 D4 j9 A! R4 {
  755. JSR PPU_PROCESS, ]5 R) S- i" r' Z( D3 [
  756. LDA $33
    ) q$ X2 X2 P* X5 T1 ^# X* X
  757. JSR LIFETODEC! I& f  P) A" R1 |) N2 O# b% k
  758. RELIFE_NUMBER_P2_W:
    3 E8 v# k+ ~. y: F! o6 D
  759. LDA $7A037 Y# W- A. q- W8 {* ?0 _8 H& A
  760. STA $0705
    $ j. v" a/ P- Z3 Z8 S# j
  761. INC $0705/ C+ ~" Q3 Z8 H. R0 G( s
  762. LDA $7A043 f$ g- X/ b( e* m
  763. STA $0706: K! {/ n  ?# ~6 i) \' b
  764. INC $0706. t" d- _  d( I: W' R
  765. LDA $7A05
    * ^0 x; l4 w9 E$ n8 i% q
  766. STA $0707
    5 R; k4 [1 ^+ M/ _( p8 V
  767. INC $0707
    6 h7 \4 C6 R: d0 B& a* z* k9 g
  768. LDX #$03
    9 y) J( H* W! q, U, @( {! s# a1 _4 C
  769. RELIFE_NUMBER_P2_START:
    7 X3 D4 a' D" G* d: P8 ~
  770. JSR PPU_START# Q% w+ [" g; ^+ y, {% q) I
  771. RTS
    : u; d/ |/ @$ \( i- \: H
  772. ' T; ~& O4 B/ u1 ?6 b* {. ^1 D
  773. WEAPON_P2_ADDR:
    / L2 s, x- f' U" t! `2 J
  774. .BYTE $21,$33
    9 d# V* k6 T1 z4 U
  775. WEAPON_P2_DATA:/ |, }# }: M3 z. p4 e# b1 w
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND" }1 k- p+ p! p0 E, y" A4 n! V
  777. WEAPON_P2_PPU:* u7 J! B! i+ m) W8 V' ~6 B  s
  778. LDX #$00! L! X* C, {& v, q+ X
  779. LDA WEAPON_P2_ADDR
    0 _  {4 Y/ C" M3 O! q  i
  780. STA $0703) G# M3 j1 x, e/ m& O6 G5 w+ l
  781. INX9 D- U* ~3 E  F" U/ g9 a* Y
  782. LDA WEAPON_P2_ADDR,X
    : E/ O! @5 c" R$ D* n
  783. STA $0704( A: S/ c% a& N: m) R( i* Y
  784. JSR PPU_PROCESS
    ! p2 k5 s  e8 o  }
  785. WEAPON_P2_W:
    . U' U" O2 b* ?$ m+ Q& J/ T' W! A7 `
  786. LDA WEAPON_P2_DATA,X
    2 Q3 M2 y9 F; f* w" l! d
  787. CMP #CEND
    ! a7 d+ o2 Q4 d
  788. BEQ WEAPON_P2_START; C* ]+ J# H  e/ H  h5 J0 M) u3 c6 x
  789. STA $0705,X
    & E; F5 [5 ~; T; I
  790. INX: j6 b. {+ L; v7 |9 e- V! I
  791. LDA #$00% N. C' o0 z; }+ \; \3 D
  792. BEQ WEAPON_P2_W+ a, Q& X* u5 N& w- g/ }
  793. WEAPON_P2_START:, x) f, p5 J- p7 v' q2 N
  794. JSR PPU_START: M" K- f8 e- _6 m
  795. RTS$ y5 D4 k" x) n# `8 [. L7 [

  796. + E; s4 O$ Q5 m
  797. BULLET_P2_ADDR:
    3 m3 r/ C& s, G5 v
  798. .BYTE $21,$3A/ ]* E, z1 V6 }6 F8 h" i) {& y
  799. BULLET_P2_DATA:- J3 v" G& v2 A6 e" {: m& A
  800. .BYTE $00,$01,$02,$03,$04* C/ K- W: w7 d
  801. BULLET_P2_NAME:% w/ B: b* ^# v! e( R% B8 R7 N* R7 E6 u
  802. .BYTE CN,CM,CF,CS,CL! B8 G* \+ C; m/ l0 u6 M! ]

  803. + L/ a2 b$ o3 B) s, o8 s; f1 F
  804. BULLETPPU_P2_PPU:
    . Y( m) m# G, _% B$ K
  805. LDX #$00
    ; f, R" z  @3 g8 Q9 P
  806. LDA BULLET_P2_ADDR
    8 V7 q3 ^+ e) @$ O; R. [3 k& q
  807. STA $0703* o9 ]( h( @* h0 t6 c: @9 A! [6 W
  808. INX
    ( M! o( Q: Z, _
  809. LDA BULLET_P2_ADDR,X( N" J, V$ Z' a/ p
  810. STA $07043 Z, b4 N7 m$ l9 Z# d$ M
  811. JSR PPU_PROCESS- L0 B) Y. v! }6 y' f
  812. BULLET_P2_WRITE:
    , T' A7 z" m5 k  J; W
  813. LDX #$00: i4 |4 n. r+ M
  814. LDA $AA
    2 L) _) @9 k: U( K5 M1 N1 |! B
  815. AND #$10
    5 x2 K. N4 i, ^; r6 M% ]
  816. BEQ C_BULLET_P2
    # y" Q: g. W0 E. L% i
  817. LDA #CS
    ( `- N1 A& L" _8 c" @
  818. STA $0705
    / B! G* E" F4 M3 R
  819. BNE B_NAME_P2- L! T0 X/ i1 m8 ]5 s
  820. C_BULLET_P2:
    - A& E" h' I0 z+ Q& O
  821. LDA #CC: U+ F6 a* o4 L2 q/ ?# p0 z
  822. STA $0705
    ' R) E; s& c/ u  H
  823. B_NAME_P2:
    : \7 Q1 T7 z1 h# N
  824. LDA $AB6 e$ G$ b# r5 S' x/ r- {
  825. AND #$0F
    . O1 [) L6 l; A0 ~- I3 p
  826. CMP BULLET_P2_DATA,X9 s3 _" y7 d5 R% q7 b5 r
  827. BNE B_NAME_P2_RECMP
    # O  s# ]. V; E. {' G! A0 @
  828. LDA BULLET_P2_NAME,X
    ( q/ ]( v, ^* @) Y
  829. STA $07069 l; H6 e- j" \( N
  830. B_NAME_P2_RECMP
    ' W8 k- I' R% G9 W. n4 c6 r, b
  831. INX
    5 Y7 }0 m' n+ s- s) o0 ?& x" M, r
  832. CPX #$050 N. d7 v8 z7 S- U4 n! }+ t2 o
  833. BCC B_NAME_P2
    4 G2 }4 n8 q+ b+ R; c+ E% g
  834. LDX #$02
    , R4 z2 k& ~# M+ Z$ Q* o: r
  835. JSR PPU_START
    # _/ ?& j& v3 `' ~3 @/ z
  836. RTS8 A' x9 F/ U9 ]+ l
  837. " K" h" G  u: [2 v! T

  838. 3 x1 ^) @, D9 L% C  S; m$ k+ B8 a
  839. 0 @  u7 h/ `5 R! I* ?

  840. . K# V- J0 P0 Y, u# ~  }
  841. 9 q4 Z; ]- d9 h  j+ U( [
  842. , ]4 U- q2 o  b, y& S2 T
  843. LIFETODEC:                ;十进制转换& P6 c1 b" }# L4 g
  844. LIFEL1:        ;initialise& V' `+ f# {5 h
  845. STA $7A00        ;$7A00=F3- {7 y- A6 f2 V/ n
  846. LDA #$00
    ) {& q  ]8 c! r7 z) w& t- [
  847. STA $7A03        ;$7A03=007 S( s1 @, [8 f
  848. STA $7A04        ;$7A04=00& G2 ]; y. N! d+ R1 k
  849. STA $7A05        ;$7A05=00
    + k; t! |! M' a8 S# P
  850. LIFEL2:        ;copy data $7A00 to 6001
    % O- U8 \0 {8 f
  851. LDA $7A00! I0 _6 |- B) c; J
  852. STA $7A01- ?! i" {6 p/ W6 p8 I
  853. ' L5 x  u) k+ @5 o( v+ G0 h
  854. LIFEL3:         ;hundred9 X, K1 n# T# X+ b5 L6 B( w
  855. LDA $7A01
    7 Z, ~& b7 p& k) n9 [8 _7 {
  856. CMP #$64
    . T& X" b' N% J
  857. BCC LIFEL6                ;$7A01<100 goto L6
      d1 S# N& E, P7 z
  858. LIFEL4:
    * C0 v5 s7 H, }; k: K
  859. LDA $7A01
    $ H/ ?7 ?% R, b* Y) q; ^  c- A0 V
  860. SEC2 T: K2 R, k+ K/ r  ~3 [- d: h
  861. SBC #$64        ;$7A01=$7A01-1001 j& h( y! q/ s+ V3 A
  862. STA $7A01. U7 Y1 }& h3 |; |5 m- U
  863. INC $7A03        ;hundred++
    - i% c! G; S; R
  864. LIFEL5:7 F- {1 L7 H$ A
  865. LDA $7A01
    8 k9 i+ \; K; G& V: B$ j
  866. CMP #$64
    7 h- n7 o& z! Z
  867. BCS LIFEL4                ;$7A01>100 goto L43 Q) X, _, Q6 `5 h$ Y% F

  868. & m7 t' K) C- O/ S- {# n$ g4 _
  869. LIFEL6:        ;decade
    & r$ Q4 g! M# q% g6 L
  870. LDA $7A01
    / q) c3 @' t6 Y4 o/ k3 R6 s
  871. CMP #$0A
    + s4 S5 ^, Q3 p1 ?+ M
  872. BCC LIFEL9                ;$7A01<10 goto L9
    9 l0 L& _3 q, W
  873. LIFEL7:        + v7 P6 I3 @' U+ Z, Y# A" {
  874. LDA $7A01  J9 S( K: `' s% z/ z, b
  875. SEC
    / {: F" D+ T/ D4 c' M2 l: T# p
  876. SBC #$0A2 m0 ?4 ]. e* m5 B: d3 V, b) T3 [
  877. STA $7A01        ;$7A01=$7A01-10
      d- Q9 E( R/ Y, `  v  Y  L
  878. INC $7A04        ;decade++
    8 j6 _) Y; K: f! Z, k/ [8 ]$ u8 d
  879. LIFEL8:$ X, F/ S* A% G. ]2 L
  880. LDA $7A01& Z) V! C3 A5 ?
  881. CMP #$0A
    ( _, ^! y/ U/ m2 I8 Q& ]
  882. BCS LIFEL7                ;$7A01>10 goto L72 b' j, s9 Z2 [2 }# o
  883. ;unit
    / D( j+ P/ `0 X2 k3 S
  884. LIFEL9:1 _8 O! ]* H, G% \" [; W5 W
  885. LDA $7A01        ;$7A05=$7A01
    4 b4 M: B& s' F2 S2 y( _
  886. STA $7A05        ;unit& L, M3 i9 F5 m
  887. RTS        ;return" f" G% U& R- ]) T: r

  888. + x* O6 y( b% A5 {
  889. + b, n% T9 F: H: F* z6 B- _

  890.   F9 R0 a  W2 ~- c1 r
  891. PPU_PROCESS: ;PPU地址处理程序1 r  a2 e, L) B+ ]
  892. LDX #$00
    0 j8 m' B- J" _5 v- ?+ I
  893. LDA $FF
    ( t* g3 S0 C( b9 I: K
  894. AND #$01
    - L4 y. a0 n" o# J* |& i8 s* ~
  895. BNE PPU_2400_27C0" O; Q+ u+ b. ?6 y# t6 s+ R
  896. PPU_2000_23C0: ;命名表1& [0 ^) `3 E+ s; R$ I
  897. LDA $07038 b+ h/ v4 O- Q
  898. AND #$FB
    * x' v! d  e- h- d3 e% x
  899. STA $0703
    2 {+ O0 \' ]8 l9 ~8 I9 p6 x
  900. RTS
    ) A; [5 K' v) t
  901. PPU_2400_27C0: ;命名表2! U* Z- P5 Z  q: R
  902. LDA $0703; d9 w* w" G0 O4 D9 q$ j
  903. ORA #$044 p4 i* M' A' `5 v9 F
  904. STA $0703* B. b. A% a: g+ C2 r. F) ~7 ?
  905. RTS
    - j7 g1 X! C( ^! i; a

  906. 4 C) [! C# m  p% E4 d( V( e
  907. PPU_START:  ;PPU数据写入9 n) w; {7 ^$ e: U
  908. STA $211 j: [( R% Q6 E2 M
  909. STX $07015 ]# j! N, a, v) F" Q3 C( P" M" h
  910. LDA #$00
    7 r) S% o  W7 {2 w
  911. STA $0705,X
    # ]9 L6 e" n# q: I, J6 _' J
  912. LDA #$01
      t6 |6 U8 N: G/ H# z3 C2 z
  913. STA $07006 O' q" X. P* m6 n0 d. _9 D7 h
  914. STA $0702
    6 J8 l2 D2 j; G; n4 Q* p
  915. RTS
    ( l  K% Z, V7 y; m( `7 Z7 I
  916. 0 Q2 |& G% Q. b
  917. # O9 w! J: |; v) e0 V0 Q- B

  918. " t! |9 P+ F" g7 }( P! {

  919. 0 p9 s* J1 U( {
  920. & h  h/ q* \8 F( k  m( L

  921. # @: t1 H1 y6 _9 G1 K  {) `! N% ^
复制代码

6 K% W( t/ u) |

本帖子中包含更多资源

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

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

签到天数: 2298 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!
3 q! I# D- o! E% K3 f$ {

签到天数: 2573 天

[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-9-18 14:30 , Processed in 1.077149 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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