EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    7 s7 j4 ]9 g5 e. w% w  M) o
  2. 作者:FlameCyclone
    - L/ n8 f4 K2 R- r  z% r
  3. 时间:2017.2.12. O; V' v( o" z& S2 @# c1 A" h1 h

  4. 1 f& E$ J6 O6 T
  5. 按键跳转:' F1 a# c$ l! S4 S9 }4 x
  6.         C1EF:95 F5 94 F1
    1 H6 ?; \  P7 [) O
  7.         C1EF:20 70 FB EA
    * H( e, z& e2 \2 C3 x1 d

  8. 1 t& w( F: d) q# w- ]: J
  9. 滚动偏移:) z  q( e) ^$ G& y( e
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20
    & g: U$ e7 G! {2 F
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    0 b4 @" U0 w! e0 M7 R
  12. # f5 H, W5 m4 z$ D
  13. 背景调色板:& H) |" l2 K) _1 y9 a
  14.         CF20:9D C0 07% j& J. @- H+ \& p" l) c7 e' G- @" Y2 U
  15.         CF20:20 A0 FB
    " C9 h5 _# t: Q, y. y: L( y, ?$ }! B

  16. / H' M/ g. v! {9 ~$ i- |( F! B
  17. PPU BANK号:
    " R* q$ ]( W8 \9 N9 U4 S3 }. R
  18.         C8C9:9D F4 07
    $ J1 n3 y5 {/ E4 G1 d6 t
  19.         C8C9:20 B0 FB
    " c5 n' e9 q5 e% c' o/ M
  20. - A1 O! v# e* @. U' v  i
  21. 按键跳转:
    : ^3 B) g8 I( u2 S2 ~) y
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    5 \6 y$ z0 w0 X  P& G
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    ! i/ b& |+ w( N3 d0 i
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF
    , ~9 k- m7 U1 T4 C6 E$ j

  25. 4 T" |9 A: G8 x6 `4 n4 d
  26. 背景调色板:
    6 [+ R# w' E) Z# Q/ {4 R
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF
    / H2 g. D  D. Z& g$ |; ?
  28. 3 O* U. e/ e# ~1 `
  29. PPU BANK号:; U8 T/ Z9 _3 X; a% N% r8 t
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF) s0 b. u+ r# E: w1 j! K
  31. 9 ]/ D3 r2 |" y( M3 K5 R! q" w
  32. 滚动偏移:: }* F% [* \& l% d2 G5 w. i( \! @
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60  p9 [" A1 B3 A, o& R1 M( |. s
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF) `* f% p/ l: P" [( X. V
  35. ' r9 o* J" _  @! j6 T1 e% ~9 r
  36. 6 j" m8 b# B3 C) B" f, u* m
  37. 切BANK后A000:; |2 I) `$ D& ^# N8 s" K2 K
  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/ h3 p( l0 r4 C' S
  39. % l& {( ^; g, r2 t/ }
  40. * i7 {- A1 }7 u! J% J0 f' T
  41. 6502 simulator:
    . |  a# a. k' V: y
  42. PPU写入程序:
      ?! N5 _8 j9 s
  43. .ORG $A000
    - ?& l# {8 O- k% z7 P3 z
  44. CSP = $80
    9 p6 v8 S' a6 ]0 @6 K. @
  45. C0 = $81
    & o( x. V( D" ~, ]1 K
  46. C1 = $82. U+ i5 R' m2 W1 c0 X
  47. C2 = $83
    ) i( o6 O2 }6 @# d$ Z
  48. C3 = $84' j( I* ~' v* M3 L. A2 d
  49. C4 = $852 r4 F4 F8 Q' z8 m3 H2 \1 [
  50. C5 = $86
    / h8 [3 v, O6 q* v1 {/ Q
  51. C6 = $87" [7 C  e* X) @6 c% m
  52. C7 = $88. X- N% Y# x; G
  53. C8 = $89* _) V5 R/ [; [7 y
  54. C9 = $8A
    ' L: s, W& q% Y  M- @
  55. CA = $8B! Q5 ^8 K: K% w5 d7 |
  56. CB = $8C
    1 U6 `6 I9 z7 e% A. I% q9 u
  57. CC = $8D
    4 h1 {: q) p0 c. x, h
  58. CD = $8E, K* h& B% I1 F$ i  ~7 }
  59. CE = $8F
    ; A3 @0 W, U9 e
  60. CF = $90
    ! S4 d/ g8 K; o* T5 @
  61. CG = $914 c/ q2 }+ o9 ]; \& b& u
  62. CH = $92
    $ h/ V: D% Q5 M  q( ^. w7 ^2 P
  63. CI = $93
    3 r* \; i; A& G* e7 Q
  64. CJ = $94* V7 Q5 C: t3 U# R1 x
  65. CK = $95
      M4 Q8 x& X+ b8 b6 C3 {
  66. CL = $96" ]' d" f' W2 a* I5 w- b5 a
  67. CM = $97
    ; o* S$ p# q8 x& A2 J( U
  68. CN = $98! z3 Z& u9 Y. ]) u' u1 ]
  69. CO = $99: r5 v1 v$ q( d, c; D4 m' _
  70. CP = $9A
    9 m) g+ m: O0 ~+ G/ j2 A: p
  71. CQ = $9B
    " d; w! o  v8 M9 S  x
  72. CR = $9C
    9 b6 S$ @2 e" [1 A1 p  b
  73. CS = $9D
    / q6 l' i- e, f
  74. CT = $9E3 ^  E; c8 I4 B, R1 ?
  75. CU = $9F
    * K1 W' e9 v% M9 M. x3 p- C
  76. CV = $A0
    0 M' M4 X& Q- _) n, i! _) L4 o* |! a, H$ C
  77. CW = $A1/ Z6 n% w& Z4 J8 K$ W# d5 e
  78. CX = $A28 e/ e6 K0 L: \
  79. CY = $A3
    ) \% n; ?& \, O. g5 l
  80. CZ = $A4
    ; V7 k/ z: h" \* {
  81. CEND = $FF1 Y. ^! w7 W& M9 F, S4 G8 d( h
  82. # s( u! d4 _& U- y4 h

  83. % A% c/ i$ J) I7 U3 C7 \. \
  84. CMP_RE:
    & P9 W0 P1 ~* j/ i. t& D
  85. LDA $FF
    . H  M' s# `8 J% u" Q/ b# o9 x2 M
  86. AND #$7F1 o9 S& x/ A3 V  {. ^0 I
  87. STA $2000  c: \6 K! A( ]
  88. LDA $20028 f& C( W- a8 A$ M
  89. LDA $25
    . ^- L: o5 _) w4 I3 F, [; g
  90. CMP #$01
    8 @! W, m2 V- ]0 F
  91. BNE PROREG; A( z+ V4 K# S; J8 D2 _
  92. LDA $F5,X
    * C& F+ d9 X/ V' z+ v
  93. AND #$CF
    : Z7 T" Y1 P, N
  94. BEQ PROREG( s1 R! [0 |6 ~# \4 ~. Y% S! m
  95. JSR PPU_CMP7 O6 X" Q2 v' V+ ?: B
  96. C_RE:
      a' D" I7 A- J5 \
  97. RTS
    ! w/ T" F! h* y3 N; I
  98. PROREG:
    6 |  f% J9 x+ }$ W
  99. PHA
    6 Y- O" Y; E: o
  100. TXA
    1 O3 r* P2 P' Q/ j  _
  101. PHA
    & U' J/ |) I  ]3 E& G
  102. TYA
    ' g: _$ ]" a" [7 i6 v
  103. PHA% q3 ?, ~' A3 \/ i
  104. LDA $25
    & ~+ G3 [2 _# U6 M; U% b
  105. CMP #$01" m: o1 g- E2 c+ i% e; M
  106. BNE RE
    2 S4 |5 j9 Y; p* @6 i6 S
  107. LDA $010A
    $ p- g! }8 U/ G% v# G. \! u
  108. CMP #$00! J$ _* Z9 p4 S* c/ Y5 ?
  109. BEQ P1
    + z5 g; ?& ?* G) D1 ?$ x3 K
  110.   l& r: ~8 J1 @
  111. RE:7 |: [' K7 O; i7 `0 w
  112. JMP PPUWRITE" e" `  ^# O$ L& O
  113. ! ^# Q* E+ A' ]: {6 w
  114. P1:                ; 条件判断
    : G' |! `: |$ {/ c* U# D0 V
  115. LDA $7FFF
    / [4 z) d1 b. C$ [
  116. CMP #$FF
    ! M# D. h" Z& @9 Q$ g
  117. BNE P1RP' i" N$ k  a5 s9 _& s. F& H  f, q
  118. LDA $7FA0' u1 s3 `% }0 T) Q3 i6 z
  119. CMP #$00
    $ j; o5 D6 w1 A& |. l/ h1 `
  120. BNE P1CMP
    , o( K( j/ C. N/ B: J2 f
  121. LDA #$FF
    $ H* I, A* e6 I8 U; b$ I
  122. STA $7FA0; m2 A8 B5 P# Q4 X3 I
  123. JSR CLEANA
    9 k$ o3 {: w* E. r! {7 a: c- d
  124. JMP PPUWRITE
    1 o: v. f5 f3 _- E; K" L; L0 ]: y
  125. P1CMP:. W' ~. l/ v) T3 O4 C& {6 B
  126. LDA $7FFF( d. b; h4 P2 x* ^
  127. CMP #$005 N8 u- s1 _2 R$ _* R8 Q/ f
  128. BNE RE5 Z$ x5 Y! a2 j7 F7 y/ _( u; _
  129. P1RP:5 O$ p5 X- ~6 f: I& r' G
  130. LDA $2002
    * k8 x$ W& y. n6 o" i+ [+ [
  131. LDA #$00; o. ^6 p3 y9 G. d! S# `
  132. STA $2001
    , ]3 k. U7 ?& W- ~! P
  133. LDX #$00
    2 ~% \* i% r8 V( J
  134. LDA #$FF2 g1 |4 N+ s6 U: f- N
  135. STA $7FFF. U5 j- K& V+ B6 H/ W1 l9 g- ~
  136. STA $7FA0
    5 T! V. l5 g3 w/ v
  137. JSR COPYPPU$ ^6 K" J0 B1 R' v" y2 S5 T/ g
  138. PIRP2:. W" C/ i" r' r7 k
  139. JSR CLEANA
    9 u& Y- g1 J/ R, e
  140. JMP PPUWRITE* _; `, X9 [, s) e9 P' h4 c* d

  141. 3 E8 R( K5 J& k+ O7 x; d* P
  142. COPYPPU:
    + }) w! a* e; E. ?% j  _& G1 m
  143. LDA $FE
    9 M3 w9 o- S; F, d" D, X- U  M
  144. STA $7F504 P3 l: p2 {/ o7 |/ D% Z
  145. LDA #$087 a: D% c2 L. b5 z$ A
  146. STA $FE
    9 L9 u) ~9 g& d% F# h
  147. L0:
    4 g3 j: A" L1 X* s/ g0 R6 ]! V
  148. LDX #$00
    " A5 y( `. z; T. k9 ~* F
  149. COPY_07C0_07DF:
    2 F7 u+ g$ E& N: r
  150. LDA $07C0,X
    6 L# g6 A8 S& g+ T$ A
  151. STA $7F00,X/ C# X6 I1 t* U& \
  152. INX6 r& W4 {5 f: w  ~" \
  153. CPX #$40
    9 K8 {; b5 n8 V
  154. BCC COPY_07C0_07DF! i8 p( k. L' @
  155. LDX #$00
    ( n: Z4 |$ I# O+ g
  156. PPU_07F4_07F7:
    ( F' g3 o- v  K' b5 }& S
  157. LDA #$00
    ) ~. c; X. d, L" U- M2 R& s: [  B
  158. STA $07F4,X$ y9 {0 M+ O1 V7 R) [
  159. INX7 W+ ]/ S& X# [
  160. CPX #$04/ ^. q( L* q3 c4 w3 I/ K
  161. BCC PPU_07F4_07F7" I: y& C& I+ ]8 F$ z! b. Q" e4 C2 ~
  162. LDX #$007 E( k: ?, \+ i5 \
  163. COLOR:( z, `$ p1 h- o& b* g8 W& v
  164. LDA COLOR_DATA,X7 Y- l! X; A7 c* E% v" K( Y
  165. STA $07C0,X; p( k$ O7 G. }- X! l
  166. INX9 U0 U- q- e. e8 w: ^( F( e( D) w
  167. CPX #$10  @- i; ~0 ~7 V. D
  168. BCC COLOR- N: _( k: ?  w: p) q
  169. 0 I, ^+ Q# Y% R& Q0 x* H
  170. PPU_COLOR:" W6 p* I' R: Y1 ?3 A5 L8 M' q4 I
  171. LDA #$3F3 K  m9 O# S+ C1 E; Q0 R; S
  172. STA $2006. _. B8 S; `* R  t. |# b  ~1 D7 {
  173. LDA #$004 L' x" Q( O- Y: J: W, d+ t
  174. STA $20067 _! A/ U% d8 r  [. x2 k
  175. LDX #$00& n& D* j' k; r
  176. PPU_COLOR_W:+ U; I* o) H* D9 N' y* D
  177. LDA COLOR_DATA,X
    . ~$ E/ E: z: G8 x; ~3 n5 P0 P7 g
  178. STA $2007& h1 n& F3 ^/ s1 f8 V7 l9 {
  179. INX$ a5 o. R5 ^; Q8 b
  180. CPX #$100 c' e5 \2 o& g, S; P. A
  181. BCC PPU_COLOR_W" x5 C8 `2 @/ S( t

  182. $ A7 G2 R0 Y( w& a2 S3 j" X# g
  183. 4 Z& N" M8 N1 k" J
  184. LDX #$00" S  e. l" \8 i) B
  185. LDY #$00( z1 |/ }' b' T: ]- B) t
  186. LDA $BD7 [" o+ n+ c  q" C
  187. PHA9 n' `; C  }/ v
  188. LDA $BC
    ; K& k. s! J% E# z$ G& M
  189. PHA" \/ `3 R+ o7 F
  190. LDA $BB) W" Y' _  A" i7 Z" O* r9 e
  191. PHA8 T, r4 j9 [# j' O+ X. w
  192. LDA $BA( [+ [1 p/ ~) F" p$ ]; U+ _
  193. PHA
    & s( \3 v' Z+ d' J1 j4 m
  194. LDA $B9
    / S% `' W+ t- b5 _# n
  195. PHA) A+ N& e5 L8 ?! }+ Y% S2 h
  196. LDA $B8
    $ O9 u  j6 h2 J  l6 Z9 B9 z: e
  197. PHA
    1 p) {5 Z. J+ e/ L  I' w6 n
  198. LDA #$00
    & H8 X( R6 m5 @2 j
  199. STA $B8
    ( ?! s8 A; V# J; Y0 H9 Q0 `9 _% R
  200. STA $B9
    % C2 s# z. O/ H9 R0 p" ~0 Y
  201. STA $BA
    3 s+ O4 Q$ Q# E5 y# G! g
  202. STA $BB
    + G, W- P& U: [0 Y3 a) p
  203. STA $BC
    1 ~6 J; T2 B+ Y/ L& ~, d" W) E3 D6 X
  204. STA $BD2 b# D. ?: b$ D) x6 D8 F( D4 @
  205. LDA #$00
    2 L5 t8 ~9 U7 R5 T4 I
  206. STA $BA( O' D) s2 c0 E% ?0 n
  207. LDA #$20% r1 }! D5 k' W
  208. STA $BB
    9 W4 t; T6 F7 v* j5 \
  209. LDA #$00
    6 V- W7 h# p2 o% t4 [, }
  210. STA $BC
    " w9 s! j( O3 j7 B& B/ G( S, \
  211. LDA #$608 K. c$ J1 L: i% u/ J! Y5 m
  212. STA $BD' j! i! I, Y4 M
  213. , F3 s7 S* c' y5 z  M* Q1 ^5 I
  214. L1:                ; PPU复制
    : J0 [5 i: O0 ]6 f& ^1 o0 i
  215. LDA $BB
    0 ^2 N9 Z/ D& W
  216. CMP #$28
    ' K( ?9 z( n! }; t
  217. BNE L2
    5 Q3 _& l- L8 D7 ^
  218. LDA $BA
    5 {& }# ]8 w  I
  219. CMP #$00
    / Q) [3 T, l+ s  U3 N
  220. BEQ PROADPLA- E  f6 e1 x$ {, L) P5 S, E- X

  221. 3 z. T4 E0 r# m5 ~. k  J) N2 j
  222. L2:- K1 _2 g) S6 Y+ E, S$ \
  223. LDA $BB
    ; z$ J; d' `3 x2 D9 Z
  224. STA $20068 n% V& Q" B/ e3 H$ e7 x
  225. LDA $BA
    % q% N" L& D; P$ n
  226. STA $2006
    1 k; Z" w) k4 _3 R
  227. ) u$ p+ t3 R2 E! V1 V1 t
  228. L3:
    ( R; h2 q; H- a
  229. LDA $2007
    5 \* a# }6 G0 g
  230. LDA $20071 h3 D3 N% {9 m% d: A5 }/ s
  231. STA ($BC),Y
    1 l# J' w) R) O6 R9 R/ @
  232. 2 I% E2 {; L  u- P: e6 I/ J
  233. L4:
    % N' {/ A% @* C8 Z" H
  234. LDA #$00
    2 y) L0 V2 z+ K
  235. STA $2000& U, g: |8 @* k7 x) E; J
  236. INX
    9 b+ {0 H. |5 R3 |  J. U- h8 b
  237. INC $BA
    2 F4 j7 L: Z0 ^0 W( L, e
  238. INC $BC
    , e! s: m! d1 J: @+ W3 x0 m
  239. CPX #$004 u& k* f6 E. t! `8 m3 m: ~
  240. BNE L1' Y5 A3 W7 O7 D  G5 s: u
  241. INC $BB
    , K- @  e. ~! Y* f
  242. INC $BD
      O3 n% O! Z& E' p: [. q
  243. JMP L1- }) c2 M  @; V: a, [& E$ H
  244. 9 d; a' M! F. u9 {. P' f
  245. PROADPLA:                ;出栈
    4 @1 i2 @' k" f/ l2 }/ b
  246. PLA
    " P) `0 h! U7 ^& N
  247. STA $B83 O6 M9 B  D  ^% v4 y
  248. PLA
    $ ]6 t/ O) Z! K4 g) Z
  249. STA $B96 b8 P. |* U8 q6 m; C5 u
  250. PLA" z7 G% N! U% l
  251. STA $BA* v! N5 S; Y0 V
  252. PLA5 |/ S; j% r# c- {+ t
  253. STA $BB
    7 r$ Q7 l* V5 i( ?# m4 g% h2 L
  254. PLA& ~* B* `) J1 C
  255. STA $BC
    5 _, t% S- b- c% Z- X0 T8 p
  256. PLA3 p$ W: r% j" Q, m/ g- ]
  257. STA $BD
    7 C% d1 m0 P9 J$ w
  258. CPRE:- f: |1 z; I4 A7 J; i9 z
  259. RTS
    + D8 I" t5 ?" y! P6 o0 R4 B

  260. ! U' D0 z% |* f
  261. CLEANA:                ; PPU清空; m+ l5 U) D# L" Y% Q/ Y: Z1 o
  262. LDA $BD2 t3 r# E! C; m: x' H- o; W+ w
  263. PHA
    3 a# h0 r( V& c( o3 J- K& E
  264. LDA $BC" O) i5 U+ _6 x) j. V
  265. PHA9 S8 B- S. _9 H6 O+ l9 A
  266. LDA $BB0 C6 @' a; r$ L# O
  267. PHA! ?2 q2 G( d7 l! a& i
  268. LDA $BA2 D0 ?" w: ^9 L. F. W! W/ j
  269. PHA2 k: e( h1 _% T' I
  270. LDA $B97 H( d0 f1 G/ ?& Y
  271. PHA) t) r+ l- z7 d4 r  o& d6 G5 D9 d
  272. LDA $B8# s; ]' L! e' h4 |: B0 D
  273. PHA; y1 }0 x5 w" K- [8 O& o
  274. LDA #$00) P: m- ~7 s% D$ @# a
  275. STA $B8
    . G; ]1 P! N- ?! {
  276. STA $B9+ u4 y$ R& e0 X& M4 ~* A
  277. STA $BA8 v, c, D" E% k0 z, d
  278. STA $BB
    * N: }0 }& B. y+ E
  279. STA $BC
    6 f+ N& b" V, ?1 K1 @
  280. STA $BD/ a3 f: s; l* }6 g
  281. STA $20017 O0 O( b' a$ {; x5 D" X
  282. LDX #$00: g; d9 O( a3 m1 P
  283. LDY #$00$ w3 h8 i' I. _% C5 ^' B  x
  284. LDA #$00" x, i$ L/ P# Z0 c
  285. STA $BA" D0 M1 s% H4 n8 v7 b8 \8 c
  286. LDA #$20- q, C4 s  Z! O  D2 g
  287. STA $BB
    1 q8 J9 I8 i2 N- Q  g

  288. 9 q" X& \1 X, i9 |5 `
  289. CL1:
    . }2 M* ]' w3 d
  290. LDA $BB$ R3 f! x% E2 J4 h6 {1 L
  291. CMP #$28' O  C$ X# |$ }  W. Q
  292. BNE CL2
    ( i3 H; K( h& `" B* S2 `( k2 W
  293. LDA $BA$ J$ }) G; c& n$ d& ^( p
  294. CMP #$00
    : S" z: l2 V0 `( d, G: P- b
  295. BEQ FREEWRIYE1 K9 @4 ]% q$ Q8 I/ w3 b; s- f
  296. 7 K8 a% O! V  e6 X
  297. CL2:
    * c5 F) ]4 X1 c) N
  298. LDA $BB
    / G/ T3 O' [( y3 q
  299. STA $2006
    / H, T$ D# Y9 h" V; K% M. T2 V
  300. LDA $BA
    + S4 [" _. i1 \( C) M
  301. STA $2006
    ( D3 d8 ?  E3 A" C6 X9 [; O; D( z$ h
  302. - K/ m3 E- N5 A$ |0 }
  303. CL3:  D% y8 A$ e/ s0 h2 h
  304. LDA #$00
    8 E+ p& e2 C! J$ q/ ]! C6 C, K, z
  305. STA $2007
    . o$ V% s4 {1 ], r. S" [2 l
  306. 0 Y2 M  Z" r- k2 p) b; a
  307. CL4:* a( C, J3 d8 `* `
  308. LDA #$00- g0 I  w, P! r1 _
  309. STA $2000
    % \; {' B; J5 u# ^9 H/ F
  310. INX! S2 ^6 ~3 \6 y1 Y" X# ]
  311. INC $BA0 H) U: x7 B( N- T- K" v
  312. CPX #$00, w0 v# A) |  t/ f0 n
  313. BNE CL1
    , t/ c4 b3 ]$ d- Z/ [
  314. INC $BB6 X- Z! h* R3 y; G( X$ X
  315. JMP CL1
    ; d7 h0 V& k- q9 G* t
  316. $ Z" o/ A6 j5 Y5 U2 n
  317. 8 @  ?2 r& N$ W: F
  318. FREEWRIYE:# x3 C% h2 Q' k$ `& U, J5 }
  319. 4 Q# a4 `3 p! \% y2 W
  320. NOP
    ; |/ W4 c- b1 j+ ~
  321. . w4 p% ]! B( [! e, S
  322. 7 a+ |: v2 C" Y6 N: E. E2 B

  323. ( s$ N8 q; E  N# C# ~; v5 i
  324. . f1 Y! [( n- z4 J

  325. $ ?) \( R" K$ U8 k1 W- p5 q
  326. CLEANF:                ; 恢复现场
    8 R: B+ |& B; D* d0 O
  327.   h. v: R( E: ^% n! O  |
  328. PLA
    8 l5 ^0 n" k5 H, t
  329. STA $B8
    " ?3 P, m! V- v0 b' x/ \) I2 f
  330. PLA
    2 a8 J: _" l: c  r
  331. STA $B9
    ( E8 |+ F9 b) R! {% E
  332. PLA
    : Q4 ?9 i, P& T4 a/ ]$ ~- e
  333. STA $BA
    ! ]! _0 B) }& J0 X+ n7 e
  334. PLA2 l. W# m% J9 l( h: U4 V+ ?
  335. STA $BB% g; Y, _& w5 b* a  a6 g7 ~
  336. PLA5 P4 \- U' X- C! i. M
  337. STA $BC1 F/ i1 X6 {) ^) {" i
  338. PLA2 D4 i2 K2 O; Z0 s. C' U
  339. STA $BD1 @: u1 l3 e8 [6 f" a1 V
  340. CLRF:: u/ s' Y% [1 A: p
  341. JSR FREE_PPU" J* k, A6 x5 L; v' p. M# `
  342. RTS; I  Y  i. m( T1 W
  343. 0 H4 C4 u$ `0 D4 a% X8 ]5 C! x

  344. / c! h- t6 [, |) a+ c
  345. PPUWRITE:    ;PPU写回
    $ Z7 N6 ?3 g% t
  346. PLA
    ' h( p! y( t# V( T5 j
  347. TAY: Q! @+ p& I6 B
  348. PLA- G1 `  W# U8 p$ V; P3 o7 Q
  349. TAX3 |: L4 p, ~( N9 z: x5 N! w
  350. PLA
    : l% B  F7 \6 d2 B
  351. LDA $251 `1 v$ e# _1 }7 x1 h2 k1 l
  352. CMP #$008 }! T. ~. r; ^& {& M7 T7 u9 z
  353. BEQ WP1
    4 a( o+ C" q1 y4 h' o* @
  354. LDA $25" a, W0 k; t) Z2 ?8 g" {
  355. CMP #$013 h2 H4 r. \' Y& q& P+ m! F
  356. BNE WRE
    % U7 y4 u: j8 X2 C( a8 K% s, d7 a+ I4 g
  357. LDA $F5,X1 u3 b7 O7 [' }% ^4 |8 T1 N
  358. AND #$EF
    0 I$ @7 G2 M  y9 q6 l. r$ e7 R
  359. BEQ WRE" \% y. \9 I7 |( j+ J# Y0 g
  360. LDA #$00
    1 n6 N" ?$ E8 d5 n7 e3 a- v8 J
  361. STA $7FA02 L' {3 J# G  X% v- O3 C9 p8 O/ C4 \7 l6 v

  362. + Z$ e* N& V1 H7 M' P: }* N# [
  363. WRE:, d) G' _; ~. ?  x5 H; F
  364. RTS6 `& B: k' k4 D3 Z: m9 \

  365. $ Q2 I. n7 K$ e( L- b. O/ c# i8 p/ y  w
  366. WP1:
    ! ?$ [, ~2 V+ X' ?6 K5 R, P  ^5 e
  367. LDA $7FFF6 Y* g" j% [! g; d& K
  368. CMP #$FF/ h. K, }* E# G) w
  369. BNE WRE
    7 R2 c5 i. T- g* l6 l. [
  370. LDA #$008 N3 ]3 H" H, _* ]
  371. STA $2001
    9 f6 K0 @2 P1 q, T6 V4 X
  372. LDA $BD3 q2 A% Y8 R$ Z. A' {! F
  373. PHA
    % G6 P& @5 P( P; R. p; P# }
  374. LDA $BC
    % Y0 v2 F1 H& f% Q( Y1 C) s* V6 i+ ?5 D
  375. PHA
    , A/ M9 P1 e+ |2 y* p/ o& s
  376. LDA $BB4 W: o: O+ u# m' \- _$ w' ^& l$ n
  377. PHA
    / K5 s; s& m% @  a( z$ F' }4 S3 S
  378. LDA $BA
    1 T6 u# F. W" w  z  K$ N
  379. PHA
    : O) u3 f+ I' B; K: w) o
  380. LDA $B9' M, H: p. @6 m% B" _1 t, }0 s+ x
  381. PHA8 P0 x1 V& C. T9 E" A9 M
  382. LDA $B8
    1 m" r( c6 p2 S) r
  383. PHA
    ! ?+ y( M' K$ `6 Y( T9 S* a5 w7 i
  384. LDA #$00- k9 U6 P' w" i- z, _) I: J: r0 z
  385. STA $B8
    " x) S2 G. b% p7 T
  386. STA $B9
    6 t2 r: s, M/ b* \& Z6 C) z  H
  387. STA $BA
      K* l# K3 B8 I% n* Z( F- ~9 l  R
  388. STA $BB
    3 G" R( x$ C0 ?# T
  389. STA $BC
    ! d3 I5 Z' K1 R1 F( B
  390. STA $BD, ?/ L; U1 P' A
  391. LDA #$00
    3 B& }& ^+ |+ i
  392. STA $7FFF" }  w8 L/ `) i2 V* V9 A9 O  Z

  393. 0 ?9 E: F  `% B: P. Y( Y! Y
  394. WL0:% p' B- h/ k/ E: s* r6 s3 @  J  j/ L1 y
  395. LDX #$00
    / }) j# s8 s) j  w/ p' q" j$ I0 \
  396. LDY #$00
    : j! g8 {& ^" S" f, v
  397. LDA #$00, {1 s: l' t- e
  398. STA $BA
    & |6 ~5 L, ~* M/ c5 y: I
  399. LDA #$20% c# `1 J2 P$ m- k* V
  400. STA $BB# z# F/ s# T& K* z. M* _
  401. LDA #$00/ e) d1 B% Z1 \, M. U* h
  402. STA $BC
    ! ]5 }! K5 o/ O
  403. LDA #$60
    $ e6 ?$ P) l7 w, L7 X% a6 V
  404. STA $BD4 H+ d2 |; R# ?

  405. & {$ j( \) \8 q
  406. WL1:
    2 f3 o" R" m+ [/ ^9 P
  407. LDA $BD
    # x3 Y- z& i; e* {
  408. CMP #$685 k0 S) F5 ~4 S& ]  k7 x  ^# w: X
  409. BNE WL2, o* L# g7 Z( @( L
  410. LDA $BC
    5 k! v9 [1 t2 n+ q$ B
  411. CMP #$000 V' d: a1 t) B: ^
  412. BEQ WLR
    ; u7 M: f* {. S4 s; M( ]

  413.   {3 v: Y* l) O: G' g6 [2 J8 H
  414. WL2:  C$ t( J+ K, a6 D/ k4 V! |
  415. LDA $BD
    ' W+ \  H. K  l3 |
  416. STA $2006
    % r) p2 h) Q. y; A7 G
  417. LDA $BC
    % y/ `# o' N% h1 o( i
  418. STA $2006
      d$ ^5 l2 l/ S4 i1 a2 s7 T
  419.   s3 y  A( j" G# v5 z% y- P2 u
  420. WL3:
    0 @8 H5 @  `2 g! X
  421. LDA ($BC),Y+ \) |$ C5 _5 d* {$ ^2 m
  422. STA $2007. F' @2 w" }: g  q$ e3 L' B
  423. * D2 i4 E0 V% }
  424. WL4:
    ) e8 M- E5 S" ^
  425. LDA #$00+ U% E0 O' z; }3 H7 g. l! ]8 u0 X  f
  426. STA $2000
    4 B9 a8 Y! W% e( m* I
  427. INX4 F, K1 r: A* I0 H
  428. INC $BA
    5 g* r; ~1 P- [( B
  429. INC $BC; f8 i+ a4 n/ |4 H: q2 u) @
  430. CPX #$009 n; j+ F% h, h  X2 W
  431. BNE WL1$ w7 _- J: O6 C" l+ l
  432. INC $BB
    # G2 O+ ^1 l2 E! n8 p+ ?( B/ N* @
  433. INC $BD; r. u5 u/ l, ?5 d, z
  434. JMP WL1
    ) h7 \& z& H: c+ E/ {
  435. - u( `; K* y2 H- |; u
  436. WLR:! Z4 H5 E' x; @/ K8 Z6 ]$ E$ n" I
  437. LDX #$001 N( O* z: m4 d. ~# x% u9 \
  438. COPY_7F00_7F3F:; f" O, Q2 F8 Z
  439. LDA $7F00,X* l2 r% V- G) r7 b1 f$ [0 k
  440. STA $07C0,X5 S* `, }' L# h9 M* G5 s! V: P6 u
  441. INX
    * m* U6 D6 G7 ~! p; l6 L: h- O
  442. CPX #$407 R" t4 y$ }" d$ F6 R$ l% L' w0 t
  443. BCC COPY_7F00_7F3F8 f9 ]. ^+ P1 q

  444. 2 }  t" {$ n7 O) _
  445. LDX #$00! u- x1 B6 b4 g" r$ D5 S
  446. LDA #$3F
    + ~5 O" Z$ f8 U4 n
  447. STA $2006+ K/ ~" W1 |# F& B- ^. R  C8 j
  448. LDA #$00
    ) d" G) R/ F( U5 ?
  449. STA $2006
    9 U! Q: i4 l5 G" R
  450. COPY_7F00_7F10:
    8 ]1 e7 p3 u2 E* z0 ]6 [& y4 F$ P
  451. LDA $7C0,X
    ; x1 `& j7 c; r7 q( Q7 b; O1 }; H
  452. STA $2007) y- a% O( V: s) c& l- x
  453. INX9 `+ I- C7 Z7 J: I( u
  454. CPX #$108 a, d+ n8 @* H4 J' ?9 k
  455. BCC COPY_7F00_7F10
    # i- U4 ?& U7 k0 z) G% R
  456. ) A9 J5 [4 w+ Y
  457. LDA $2002  Z/ K3 p: P+ o, I
  458. LDA $FD* _( _1 y8 q4 ^7 E% C/ i# V
  459. STA $20058 [0 F' L( \, H' C5 k, N4 V' `2 B
  460. LDA $FC3 F, {3 {4 F( o& R) f1 F# ?
  461. STA $2005) p- w9 g  }$ u( S$ b
  462. 1 P/ e4 h0 N0 j" F9 s: v0 U
  463. LDA $7F50
    0 |% @1 I' t' r
  464. STA $FE
    3 d  \1 g* ~0 c$ o3 K$ v( J0 b
  465. LDA #$003 E- K, s9 N/ w5 R" K/ }
  466. STA $20000 L& f- b# ~* n' h9 u' H  `1 |
  467. PLA
    : Q# X1 I3 C7 B3 a6 o  A8 {
  468. STA $B8
    . V2 e5 Y+ w! t5 `; T! K
  469. PLA, }+ N6 k0 n. r0 K0 M
  470. STA $B9) z/ a0 [, j1 @2 ^. L1 }- E. e
  471. PLA
    $ S; y9 `7 p6 P
  472. STA $BA
    ) n2 }0 A* z6 Q# U
  473. PLA
    5 v* d: ]! O. d( X
  474. STA $BB; N5 Z3 Z9 m( y5 c2 k0 a
  475. PLA
    7 ^# z+ }' e4 T7 n$ s
  476. STA $BC( W7 h" N- P0 b
  477. PLA0 v( F1 N1 w7 }
  478. STA $BD6 n! [1 o% T; K( @7 A

  479. ; X8 o: e% p& {5 K( [7 Z  ^
  480. RTS
    2 Q+ R& b7 `& x6 q
  481. 5 N) \6 P- ]& @, K7 Q5 k- U' u' f
  482. PPU_CMP:
    * X. \! g" Z7 m1 X6 W% x

  483. # E0 i  e3 e% r

  484. 9 s6 V1 k+ x0 q8 P9 p* Y
  485. PPURE:
    5 M5 k1 V7 H: |! N
  486. RTS7 v) S5 q0 `9 L, d

  487. , S6 ~: i8 h" O
  488. 3 M0 v5 B& @% j. k
  489. FREE_PPU:! k0 u; }, `- }* x$ H0 D

  490. % Q! U. h8 m' }  a; Y# K
  491. JSR TEXT01_PPU
    * C6 |" w7 y' F0 O; m
  492. JSR $CBC0
    3 }: i. R! o! O2 t7 N8 D6 W0 e' ~0 {0 ?$ J
  493. JSR P1_PPU
    / `/ p( k  I+ b' s2 O. M
  494. JSR P2_PPU
    " z5 f; }6 O3 X: k" Z9 g4 j$ Z1 G
  495. RTS$ `0 R& V& s. D( m; M! i! ]* }% x
  496. : ^& j1 E8 @/ I" @5 Z9 }7 h# P
  497. TEXT01_ADDR:
    % V8 o% H/ D2 J4 }" O/ h
  498. .BYTE $20,$42
    1 |3 ~- R6 \% i, [: Q
  499. TEXT01_DATA:
    ; l5 ^) y9 d3 O( K# {/ w
  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
    9 d2 X) ~/ i- i. t) h# b8 O
  501. TEXT01_PPU
    ( O5 c6 s4 @2 h7 K( G+ J4 b( [
  502. LDX #$004 J; l+ d" d1 ~$ K: D
  503. LDA TEXT01_ADDR
    3 D2 K- L- ^# {" I3 X
  504. STA $07037 n+ M/ L: a$ t+ D2 u$ E
  505. INX% p& M  q6 {* S4 r( v0 p  S
  506. LDA TEXT01_ADDR,X" {, i9 n9 D6 K2 ]
  507. STA $0704
      p- v  R% s0 q; J% k
  508. JSR PPU_PROCESS
    7 ^8 M/ A9 g$ L8 n
  509. TEXT01_W:
    ! w7 U$ P1 H0 u5 S
  510. LDA TEXT01_DATA,X, w1 M. {5 R2 k  [, B# I9 q% X
  511. CMP #CEND. o9 f; |  X/ G
  512. BEQ TEXT01_START
    # A& N) k3 C7 z, S+ l* O
  513. STA $0705,X
    * w8 J( X8 a' c" [, {/ L6 P% E
  514. INX5 _; {4 G. P3 [+ w3 Z# u
  515. LDA #$00
    1 S6 K9 U0 a4 f: z
  516. BEQ TEXT01_W
    ) o4 M# ^8 M2 p
  517. TEXT01_START:* D0 F  u4 ?5 ^% k: B# ]& ]
  518. JSR PPU_START
    ; i$ f$ y/ q( }
  519. RTS
    8 n& f' O8 O- m; Y0 p

  520. / ]% w6 b: S' |# _7 S  b& m+ G

  521. & O4 u% q3 z7 t5 j; L% i/ f
  522. COLOR_DATA:
    + H4 x( ?9 {: L' S0 L3 R9 a. F9 M
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    3 T) }% ]* H' V) D* t  ^9 w
  524. 7 X, C7 \, E5 e% f; c
  525. P1_PPU:
    . ~. i' N8 y" O8 a6 Q
  526. JSR PLAYER_01_PPU( G4 o% r+ b+ B% }
  527. JSR $CBC0
    : v6 z$ I+ P  d  U  d: W9 x
  528. JSR RELIFE_P1_PPU
    , ^, I, R0 W8 `/ e7 i
  529. JSR $CBC0
    , v: F1 _: `5 D$ x2 r
  530. JSR RELIFE_NUMBER_P1_PPU* z2 Y. n' F# o8 j
  531. JSR $CBC0
    4 h' R, Q0 s) F) h* U, [
  532. JSR WEAPON_P1_PPU
    5 M4 \( k1 s# j8 U, X8 ^4 ~& ?# j
  533. JSR $CBC06 C( y5 |0 J2 r- u' }
  534. JSR BULLETPPU_P1_PPU: a' ~) C/ }" }* }
  535. JSR $CBC0
    ; x$ ^+ V1 |9 ~! ]0 n. [
  536. RTS0 t, i2 Q& q. ~$ v5 @1 k- v

  537. ; f9 K0 h8 @( g% p: y
  538. P2_PPU:4 M. i( H# H! S" H
  539. JSR PLAYER_02_PPU  V2 I; N6 t, o
  540. JSR $CBC0
    4 B- w  Y, b) [6 ?/ g& b
  541. JSR RELIFE_P2_PPU1 b( z* |* `, ~" F, Z+ Z
  542. JSR $CBC0
    * O1 k6 M- z1 K0 z+ l; H+ ~. M
  543. JSR RELIFE_NUMBER_P2_PPU0 r( I7 E5 o8 z. R- k8 v3 \& v
  544. JSR $CBC0
    # f1 E: y5 t* f) j3 Y
  545. JSR WEAPON_P2_PPU
    . \3 @4 r( f+ I, H- j: G
  546. JSR $CBC0
    ' V2 H! U' y) c; L. G+ \
  547. JSR BULLETPPU_P2_PPU
      f7 x' W5 a0 y9 P5 p9 Z1 ]/ y
  548. JSR $CBC0
    , a7 e5 C+ x  _# I8 x1 n- u
  549. RTS
    8 Y* a0 L: Z/ i9 H5 }" H
  550. ( y  `" x# T; w' k
  551. + M: O8 e6 C& L) _3 Z/ N! t+ n7 r

  552. ! U" m, u6 X3 g. ~- K3 x
  553. PLAYER_01_ADDR:$ N# m9 \  q1 b2 @4 I2 l
  554. .BYTE $20,$A3
    . ^+ U6 U0 C* D9 a4 b7 @
  555. PLAYER_01_DATA:
    # }+ f5 E3 ]& T8 r# y5 {' V
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND
    . f3 [, i/ S3 h
  557. PLAYER_01_PPU:
    + _& ]- W- O" Y) n5 |4 z
  558. LDX #$00
    . y6 D) B! l  s. [0 t% h
  559. LDA PLAYER_01_ADDR. `3 ~# e) \, |  ^' n* ^
  560. STA $0703) e+ A2 o3 Y* }7 w" |
  561. INX
      C+ b% o% J3 u: K8 t. O
  562. LDA PLAYER_01_ADDR,X
    1 v6 z" @( ]0 S( r& e! H$ N" t8 O4 c+ Y
  563. STA $0704
    0 X' L3 h. w# x
  564. JSR PPU_PROCESS
    & d9 g$ `) L) M& z% ]+ S0 Q: E
  565. PLAYER_01_W:6 T  q) R# b- P
  566. LDA PLAYER_01_DATA,X
    ) x4 Z4 X/ {; N5 e4 S
  567. CMP #CEND1 b5 t3 J* f3 Z7 l5 m% i2 Z7 }
  568. BEQ PLAYER_01_START8 ]8 H3 n$ B& R3 Z8 w
  569. STA $0705,X
    0 K6 z0 D& A# ~+ |1 L- \; D
  570. INX2 d9 G7 n7 d% N. O2 v) F
  571. LDA #$00
    / _9 n. b: v' t$ }
  572. BEQ PLAYER_01_W4 D) ^: `& o: z
  573. PLAYER_01_START:9 P. h' ?- J6 M" K
  574. JSR PPU_START
    ( k  e+ z8 n/ i6 w! b8 a! E
  575. RTS) J6 X' c0 J+ ]5 Z; ?/ B

  576. " T' @% D0 F8 ]# Q

  577. : z% W  }8 l; {, @; z
  578. RELIFE_P1_ADDR:! U9 d, |+ Q/ I; _4 K
  579. .BYTE $20,$E3
      ?. X$ d( F; F* ?7 b2 E- T; i' h
  580. RELIFE_P1_DATA:- M+ a. @* i0 v4 a
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND/ g* P9 v2 U# m5 y! t
  582. RELIFE_P1_PPU:) F' L& }8 V1 U- q
  583. LDX #$00
    1 W, q/ W5 ?" y/ y( C0 w) G
  584. LDA RELIFE_P1_ADDR
    4 h  }/ e4 {( G7 u" K1 L, Q
  585. STA $07039 b: o! c  X9 t% U8 {' T) ]2 X
  586. INX8 v# l$ q* v: N) @% @
  587. LDA RELIFE_P1_ADDR,X
    # i! u! S2 A# Y* w
  588. STA $0704) C7 U' V* ?+ z) H& ^, ?
  589. JSR PPU_PROCESS
    ' ^2 S) h8 `  }! n6 b
  590. RELIFE_P1_W:
    & O' w4 J. X4 _
  591. LDA RELIFE_P1_DATA,X
    2 {% n# b' `: F+ i* w/ w
  592. CMP #CEND9 n4 s5 N( h4 C% [
  593. BEQ RELIFE_P1_START
    7 c* n6 P7 K' {1 B, Q+ X
  594. STA $0705,X. x  I# n4 `( ~6 ?' W3 Z
  595. INX' W+ a4 |4 {! S3 l5 [
  596. LDA #$00( W5 c% C; u# ~, A: ]
  597. BEQ RELIFE_P1_W
    " _8 t( ]0 h  p3 N4 `- R9 ^
  598. RELIFE_P1_START:
    1 y$ x3 [7 \) G, Q) E9 P
  599. JSR PPU_START" L$ D. E3 _( p
  600. RTS
    7 Y* ]$ I/ p! X* ?$ k6 R: }) k. |, P
  601. 2 g, J9 K( f8 X1 q( {, b# I
  602. & p8 J: o- p4 o3 z
  603. RELIFE_NUMBER_P1_ADDR:9 `! Q! Z* N5 j5 ?
  604. .BYTE $20,$EA
    : |4 }" u  G9 t* I- |& k
  605. RELIFE_NUMBER_P1_PPU:' n; ]- V9 D6 w2 a6 K  v0 G
  606. LDX #$00
    ' V8 ^7 d" d9 l2 }
  607. LDA RELIFE_NUMBER_P1_ADDR
    5 ]& ?1 f3 O8 Q9 e% p- `- K
  608. STA $07038 [. O+ ^6 G4 S
  609. INX
    ( e. o2 H( o2 L2 W
  610. LDA RELIFE_NUMBER_P1_ADDR,X( f$ n6 J, `6 X/ S" Y# V3 \
  611. STA $0704
    5 Q, ?4 f+ [" k/ y7 i& u
  612. JSR PPU_PROCESS
    # ]: P7 f2 [" q  i; j, y
  613. LDA $32
    8 a! @* _! f. L9 W0 _2 V5 e
  614. JSR LIFETODEC
    , m% T: Z: V4 Y) w; K& [" B) g# B
  615. RELIFE_NUMBER_P1_W:
    3 g4 k9 ^# ]# y+ {, K, u9 o
  616. LDA $7A03
    : h4 b* d# q1 ~# M/ v1 A9 E
  617. STA $0705
    ; b" M' v2 d) H; r$ g
  618. INC $0705/ h. `& J2 v6 t" D* m
  619. LDA $7A044 e6 s% i) S  m$ n
  620. STA $0706
    - x+ q9 ^4 B) f! d+ J/ G
  621. INC $0706
    3 D+ K; L# e& ]! G
  622. LDA $7A05
    % R* a7 t, x) b$ u0 G1 a
  623. STA $0707
    % l# h  \* o, Y
  624. INC $07071 i: {5 s4 i$ q' k1 x9 v% K
  625. LDX #$03% t1 R# R! T! i, e
  626. RELIFE_NUMBER_P1_START:
    1 x* K! G( w$ [" W' k5 q
  627. JSR PPU_START
    1 j% h6 @7 h) b8 E8 ]3 I
  628. RTS
    # ^+ N4 B& k: L3 S5 A

  629. . f6 w0 c- Y4 [- A8 o
  630. WEAPON_P1_ADDR:
    ' p# r% |+ S, Y$ _% H  s
  631. .BYTE $21,$23% w( e% K- G4 b# Q& r
  632. WEAPON_P1_DATA:1 _4 ~  y; @3 A' V
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND, w6 g% [! o" w. z# d9 M  i. C
  634. WEAPON_P1_PPU:2 l1 {# a# ?( M6 h' [: ]
  635. LDX #$00' A& s( m8 J* g" D
  636. LDA WEAPON_P1_ADDR  ]0 H. Y/ s" p' b. r
  637. STA $0703
    " m3 e1 x/ ^- }+ i  W- q, ^' {
  638. INX
    - q/ G% T" V0 k& g( F4 d
  639. LDA WEAPON_P1_ADDR,X
    * X, I: O, n% W2 C9 M: ]) l
  640. STA $0704% X; k- m' h% E9 P2 W- ]
  641. JSR PPU_PROCESS
    9 P$ D3 ^! a3 H" S+ \1 h
  642. WEAPON_P1_W:1 q6 }% v; k  @  g# t2 q. s
  643. LDA WEAPON_P1_DATA,X
    * L4 Z6 ~6 X* m' _
  644. CMP #CEND6 _" u" ?0 z- y" F$ ^3 I9 h, c  N
  645. BEQ WEAPON_P1_START& `2 t* i: e7 I3 q1 y
  646. STA $0705,X
    ( }9 F7 }/ K2 Q
  647. INX3 {: S+ c1 f* M' l4 E* I
  648. LDA #$00. t- O- V9 n+ M" t6 Q/ D
  649. BEQ WEAPON_P1_W0 B1 V1 a3 ^4 @( A& d2 D
  650. WEAPON_P1_START:% r- k! x1 E% i
  651. JSR PPU_START+ o1 ?" O6 t% P) g. B6 `! j/ X
  652. RTS" b' I: [% |1 I" V2 g* ^" i
  653. : L4 u- Y- ]- C7 F
  654. BULLET_P1_ADDR:* Z* h) W$ u/ v2 g
  655. .BYTE $21,$2A$ a$ l; B# _5 t4 t! [- S
  656. BULLET_P1_DATA:
    1 B$ ?$ I" K7 ~3 d9 w& C, W
  657. .BYTE $00,$01,$02,$03,$04
    " k+ c- q/ Y* p) O0 k" b
  658. BULLET_P1_NAME:
    8 O# _& w& q+ |2 E
  659. .BYTE CN,CM,CF,CS,CL
    . I9 p( s: U# O0 M: w( v8 N

  660. . G* P7 k/ ?) I: V% a
  661. BULLETPPU_P1_PPU:( _2 \/ c  y* j
  662. LDX #$00
    ' Q/ c* |  p6 m( w
  663. LDA BULLET_P1_ADDR
    2 |- O7 l! J! |; `
  664. STA $0703
    0 W8 U5 \7 l+ G9 N- P' }8 O
  665. INX
    4 X' Y, s5 r* H+ a- [0 l
  666. LDA BULLET_P1_ADDR,X/ D* w, k8 d. R8 a2 x8 U
  667. STA $0704
    8 Z& V) p% P4 s2 i: l9 m' P4 w/ z4 ?
  668. JSR PPU_PROCESS
    5 Q0 ^5 p# }7 f( _9 x
  669. BULLET_P1_WRITE:
    , K% U. V' e; n5 [, S% G
  670. LDX #$007 F3 R0 E$ Q+ ~( r8 x! Y
  671. LDA $AA
    6 R# Y: S) w3 f4 O, z4 l. [" V$ E
  672. AND #$10% N8 q4 E' r- P3 ~; X% D" ?
  673. BEQ C_BULLET_P1* s8 D# o: O. ]- T3 H: i! V8 ~
  674. LDA #CS; i0 J6 ]$ K( ~! o1 G
  675. STA $0705
    - E- x3 V# J9 o6 A1 p
  676. BNE B_NAME_P13 p' y. ]+ N& n* ^
  677. C_BULLET_P1:" ?0 b1 v2 p; K3 \
  678. LDA #CC
    0 C) L  S% W  E" v* M5 e; Z5 T
  679. STA $0705  ~$ \% |  @  K; _* [4 A5 o0 a
  680. B_NAME_P1:
    9 [, y5 w! `6 K* x5 q( Q+ A
  681. LDA $AA
    " j8 m* p0 D  U
  682. AND #$0F
    * R; T! _9 j' d, d: ^4 ^( d
  683. CMP BULLET_P1_DATA,X
    ; ^* @0 y0 x4 `+ t4 K
  684. BNE B_NAME_P1_RECMP
    4 D) P! A5 L0 H3 Y7 }. s$ z
  685. LDA BULLET_P1_NAME,X' F# ?! |$ z( Y1 R- T/ b  _
  686. STA $07068 Y2 G7 W) T. F' l& N* r
  687. B_NAME_P1_RECMP
    % [- N/ ~5 r# }) a
  688. INX
    8 L+ W9 f2 [" Q8 C  m
  689. CPX #$05( g6 G0 c( X! w7 X0 d. ^
  690. BCC B_NAME_P1
    8 y2 u6 L* i* J0 V8 B
  691. LDX #$027 X& R! }& V& o' R
  692. JSR PPU_START2 p4 R+ T; m- g9 A1 S# n- A2 I
  693. RTS. ^0 |4 X3 d, B

  694. $ M% g" B4 B8 |
  695. $ F" U" ~  m3 R
  696. PLAYER_02_ADDR:
    ' j3 e; W8 K  ^1 K9 Z" z
  697. .BYTE $20,$B3
    4 j$ P, f8 e- Z" A
  698. PLAYER_02_DATA:
    + i; R  }9 B2 J0 m3 E. k! a
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND' ?! E5 D+ l% }5 V
  700. PLAYER_02_PPU:
    ; D/ \0 H+ Y- k6 j1 g; _
  701. LDX #$00* c7 x$ i) r- u3 W: s/ e2 a- y
  702. LDA PLAYER_02_ADDR
    # i3 x4 f, l8 G, t) P4 ]+ g
  703. STA $0703
    $ F8 [; s0 i- S+ s( }
  704. INX
    + S. r7 q  S* p8 x& D5 U
  705. LDA PLAYER_02_ADDR,X
    1 h8 w; d. {5 O( a3 b; E8 v
  706. STA $07046 ^2 B- U0 G- @" X. M: {- W
  707. JSR PPU_PROCESS$ J+ [  d: {1 E9 h& b3 ^
  708. PLAYER_02_W:
    + s# _- X& U& r+ w' Z2 {2 p
  709. LDA PLAYER_02_DATA,X
    - Q! f' o% p6 x
  710. CMP #CEND6 \" E8 F* ?& p+ K! t
  711. BEQ PLAYER_02_START& E9 h! m0 a  t5 r" V9 N
  712. STA $0705,X" S2 N$ m& v9 n* ?: Z
  713. INX6 E0 L" J" l& L+ F
  714. LDA #$00' q3 U/ r9 `& t
  715. BEQ PLAYER_02_W
    , `7 B3 `2 Z4 I1 s) j/ g
  716. PLAYER_02_START:) y" L) m( ^: r8 J3 {- r4 w6 }' c
  717. JSR PPU_START
    5 ]+ x/ L2 r- j/ t7 H- E1 Q# ]
  718. RTS3 ]% v. g! g* v" E: ?5 s* v

  719. 0 F. R5 Z0 @$ n& y1 c; ~8 M

  720. . ]0 O- ~; Z/ g5 V8 |6 ]5 r, N. d
  721. RELIFE_P2_ADDR:7 U2 m* N8 S2 _, G% ]
  722. .BYTE $20,$F3( O3 S7 z* I9 j6 T& `
  723. RELIFE_P2_DATA:+ D; W% J. D$ {
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    / u5 }* @" D# p
  725. RELIFE_P2_PPU:/ c1 j8 L1 Y) g' G. L1 K2 P
  726. LDX #$00
    * i. \3 R' u0 a9 t, b6 i
  727. LDA RELIFE_P2_ADDR
    ; {7 v  _! p, W8 p
  728. STA $0703
    . u4 `9 Z* ^, X7 O* o
  729. INX2 {. f: H7 E% o7 k1 ]
  730. LDA RELIFE_P2_ADDR,X
    & B  u, b) e! @) N* r: E
  731. STA $07048 w3 q+ A' a0 U( d& M
  732. JSR PPU_PROCESS6 k1 u; [, d, B5 f6 W
  733. RELIFE_P2_W:3 @4 R& C9 m% l
  734. LDA RELIFE_P2_DATA,X* E& G' u) z6 O
  735. CMP #CEND
    3 r6 S! A& [2 r+ Q  j
  736. BEQ RELIFE_P2_START
    4 A. M+ [& D9 k$ m2 U6 F
  737. STA $0705,X* F  v" K  _" v: f4 Y6 E
  738. INX' y3 D, z; }2 w( Z- |
  739. LDA #$00
    ( r6 M* o7 X5 H' Q1 D
  740. BEQ RELIFE_P2_W8 \6 `5 Z2 h1 K8 l6 V# H* l
  741. RELIFE_P2_START:
    * g2 F9 q- {2 O2 P
  742. JSR PPU_START  T* Q( P1 O- z0 j
  743. RTS  K) C" e' I# l
  744. 8 z, v3 n/ _( m  Z4 B

  745. & s& l2 Z7 \5 Q+ J3 X
  746. RELIFE_NUMBER_P2_ADDR:# p0 ~0 `1 A+ g) t) S. m
  747. .BYTE $20,$FA
    1 o& U9 `/ A$ [- X0 C* f( s
  748. RELIFE_NUMBER_P2_PPU:
    ; F8 c' _9 G$ Z
  749. LDX #$00
    4 ~, J% w4 z5 b' {0 N; g
  750. LDA RELIFE_NUMBER_P2_ADDR8 J+ s3 o% l) ~' W5 ^8 r
  751. STA $0703
    % |$ ?3 I& ?9 R$ Q* Z
  752. INX
    ; ~( i" }& k  M2 t" @8 y9 d
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    : v% ]; s4 B) Z7 z2 S; I
  754. STA $0704
    5 }' z- N' u7 n6 G$ K
  755. JSR PPU_PROCESS  ~( u% ~8 r8 Z" ~6 y
  756. LDA $33
    . E0 c5 y* d: T$ a
  757. JSR LIFETODEC6 m2 v+ B6 S( R$ @- X; h
  758. RELIFE_NUMBER_P2_W:
    1 D) E5 |' w: N/ e* w8 u/ ^/ |
  759. LDA $7A03
    , l2 @7 [2 F4 \0 t1 X3 d' L
  760. STA $0705) }0 s; k; N9 j0 S
  761. INC $0705
    , x* r9 _0 U( {
  762. LDA $7A04
    4 g7 A2 p; Y% d/ c6 H
  763. STA $0706
    - D+ w" [  t1 F" i
  764. INC $0706
    " r: ^: Q/ y2 J8 A
  765. LDA $7A05
    9 \( Y# W. e- E5 g& ^. `4 X
  766. STA $0707/ N- d( O( F; J8 A$ a
  767. INC $0707
    5 x0 _2 J, m3 G) b6 D
  768. LDX #$03
    " l# i, x+ q8 G1 b
  769. RELIFE_NUMBER_P2_START:  i; B6 i2 |5 T) ~$ [
  770. JSR PPU_START% X# L+ W. T4 U7 l8 _  J
  771. RTS' p% a2 D8 ?5 T( g; J7 N( s
  772. % h: ]/ ^0 z  x4 ^# Y: G( k
  773. WEAPON_P2_ADDR:
      q* `+ ]2 C, Z2 }0 M9 C" c  M
  774. .BYTE $21,$33  I$ F: i* u/ e" s- q
  775. WEAPON_P2_DATA:
      R- C3 v: w: T3 Q
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND+ V; S+ q3 l8 a
  777. WEAPON_P2_PPU:
    & Y$ f& Y* H* |8 q6 {
  778. LDX #$00
    6 U" ^0 _0 V; o* J
  779. LDA WEAPON_P2_ADDR" X0 Y  w5 v' B- C) k2 B, I7 C
  780. STA $07032 m* `! l8 D0 b& f6 k: o. G
  781. INX* X3 Z4 a1 _# _4 l/ D
  782. LDA WEAPON_P2_ADDR,X
    8 s, R  V; t4 F' \5 v2 z
  783. STA $0704
    ! r+ ]; b# o! J! ?! k2 I( g
  784. JSR PPU_PROCESS
    : r' V8 q7 Z/ n6 f0 D
  785. WEAPON_P2_W:
    - X4 j% T- Y  {0 x
  786. LDA WEAPON_P2_DATA,X
    # b+ I0 U3 j7 ~' Z/ m7 P9 Y
  787. CMP #CEND# ?- v# e) ^: }( b
  788. BEQ WEAPON_P2_START
    ' V. z; u# F6 H$ B3 l
  789. STA $0705,X8 G% J3 u, O7 Q- O: H( r( s/ O
  790. INX
    # H% [: r( S- \' `1 d) t
  791. LDA #$00+ Z. Z! c1 Z" T7 Z$ B. C
  792. BEQ WEAPON_P2_W
    5 k+ H! _" X7 U, K3 B9 |
  793. WEAPON_P2_START:
    3 y' }  B9 F( ]. A9 p( _
  794. JSR PPU_START
    9 g: D! w$ C) a( N% }( l8 K
  795. RTS
      W! Q' p% g) S; o, e
  796. 6 q$ {' y/ Y) `
  797. BULLET_P2_ADDR:
    . h: D0 x3 x7 p' t
  798. .BYTE $21,$3A
    * z: b/ u  R& r" a1 k# k6 q) V* D: i
  799. BULLET_P2_DATA:
    # |* q2 \( A; j
  800. .BYTE $00,$01,$02,$03,$049 |4 h0 F* ^5 @. B5 \  o
  801. BULLET_P2_NAME:
    & H9 V2 e, @  e0 l
  802. .BYTE CN,CM,CF,CS,CL  S7 W( }3 i0 y6 o1 {9 z1 z+ `

  803. " T! g. ^* ]. S2 }5 {
  804. BULLETPPU_P2_PPU:
    1 I! C; I% w$ h* w
  805. LDX #$00
    ( J9 c' n2 j6 o
  806. LDA BULLET_P2_ADDR
    ; Q7 z2 }/ ]6 r1 Y$ Z
  807. STA $07032 U# X7 N9 ~. C( d/ g+ o6 w! P% v
  808. INX
    8 T6 @" T  b& q1 `7 H+ x
  809. LDA BULLET_P2_ADDR,X( D6 f% @( y( D+ W- u
  810. STA $0704& ~  q9 L+ X! E; _- b/ Z
  811. JSR PPU_PROCESS
    - E- h, L2 d. `1 l) j
  812. BULLET_P2_WRITE:
    . V/ z  L: D' y) u
  813. LDX #$00
    2 @2 k  g2 e2 E8 {
  814. LDA $AA" y+ t0 w( x6 ?% d3 c( R, K7 I
  815. AND #$102 u/ O% B) R5 a. X. O
  816. BEQ C_BULLET_P2
    ; z5 S; l, v6 y% W5 o! a
  817. LDA #CS" W7 I3 L5 G' @7 Y5 Y% Y0 H6 G9 \
  818. STA $07057 w. ]- L9 O: |+ a* l' x
  819. BNE B_NAME_P2
    ( V- P/ D0 C  M: r# S
  820. C_BULLET_P2:& ^) I0 D3 C4 y( s. B
  821. LDA #CC0 }* P9 f1 u  P  o1 v
  822. STA $0705+ w+ R5 F, Y, ]0 M
  823. B_NAME_P2:0 j+ W) g7 |7 v- T
  824. LDA $AB
    ! ~. a. O) k8 E& g4 o8 u5 r3 W
  825. AND #$0F
    / C' V. p' q5 e
  826. CMP BULLET_P2_DATA,X
    ! A6 }# o4 }; U1 [4 ]
  827. BNE B_NAME_P2_RECMP' m( S! s0 E" ]' K
  828. LDA BULLET_P2_NAME,X4 I: y9 z# g. }) U
  829. STA $0706, X# K2 A. P( r7 R& ^) T/ a* C: q
  830. B_NAME_P2_RECMP
    8 z- c1 E% M  n! P8 d4 g% `
  831. INX
    . t: l# i. M5 Z
  832. CPX #$05, P; `* q) k) R  I8 r
  833. BCC B_NAME_P2
    / k4 O! M7 B5 s8 T4 s3 V
  834. LDX #$02) P7 @* M# _4 ^1 Z7 ^0 @2 z
  835. JSR PPU_START1 g* ]! s* ?2 k$ r8 G; n" ]
  836. RTS
    6 w) \7 l8 K. }/ C- `

  837. ' i  t4 V) L0 k+ D1 E# G- V$ c

  838.   B& T6 X2 p1 W) B, O) t# k1 R! X

  839. ! W+ K0 R1 r: p; a
  840. - Y9 {2 O& a) [/ q; A; l' h

  841. $ s- e; L2 }9 h+ c# t3 ~
  842. - {" a$ X* g* ]1 j" h
  843. LIFETODEC:                ;十进制转换" p6 s9 @$ K4 c5 T8 W
  844. LIFEL1:        ;initialise
    0 Q6 w! e& y. A. T
  845. STA $7A00        ;$7A00=F3
    9 P/ L  |5 }9 U0 Q, u# E$ s; P7 u
  846. LDA #$00% f5 P" n6 m9 a* Q
  847. STA $7A03        ;$7A03=00
    " }2 Q% t, t( ]& g$ I. S
  848. STA $7A04        ;$7A04=00
    7 U4 P8 \* u3 x1 b; p
  849. STA $7A05        ;$7A05=00
    & Y7 f% \" Y9 ^, q% `( P4 i5 _5 x
  850. LIFEL2:        ;copy data $7A00 to 6001
    . f1 `6 `: L; e7 ?/ L  Q
  851. LDA $7A007 \" o$ t2 t% M, f- P
  852. STA $7A01- k8 B. C, F" T- o* z3 y! y( _+ m; K

  853. 5 M/ P- X' t) \& @9 c' G; c
  854. LIFEL3:         ;hundred2 X/ y- B% p  P' X1 G1 M  u; f
  855. LDA $7A01' v6 E1 ?+ W. I3 Q4 q
  856. CMP #$648 v: B) Q0 e& j( G# v
  857. BCC LIFEL6                ;$7A01<100 goto L6
    $ Q0 l8 g) O  H. k/ I1 y
  858. LIFEL4:
    8 Z/ Z/ B. Q# W# |3 c
  859. LDA $7A01
    8 e! E) q0 w8 ~; V3 o0 Q
  860. SEC& k$ X) m0 f7 j! S! A( W
  861. SBC #$64        ;$7A01=$7A01-100/ g! m& V6 S' D: Y8 o
  862. STA $7A01
    * w! ~0 O5 Y3 e& r( w- X: L0 j1 r
  863. INC $7A03        ;hundred++
    , C  t* l) G4 t( \" L" J5 r
  864. LIFEL5:
    7 {- Z. X# y) d* r0 o; [( y
  865. LDA $7A01# m# X$ ]( J. _, \
  866. CMP #$64
    % e# h: `( g9 U  Z, F) r* s
  867. BCS LIFEL4                ;$7A01>100 goto L4
    7 s" P" b% `& o; p+ ^
  868. # G3 w* [2 x% e% j$ r8 R- J3 ^
  869. LIFEL6:        ;decade1 f& Q1 g; {8 v2 t( Y: d8 t4 ?& e$ A! i
  870. LDA $7A011 E  g8 r% I+ w4 c2 X1 q! u
  871. CMP #$0A
    ) ]% U; Q  q1 C: ~+ p, i# F
  872. BCC LIFEL9                ;$7A01<10 goto L9  ]9 X& n/ z! |) ]
  873. LIFEL7:        . l5 P5 u  t; |$ D) @3 D+ h
  874. LDA $7A01; j- _& `$ W& M$ ^6 U
  875. SEC
    9 ^. J) r2 v" \- `
  876. SBC #$0A$ D; e( M5 w3 B" t. R& I
  877. STA $7A01        ;$7A01=$7A01-10- A7 J6 S+ z+ v! U& F; B: n
  878. INC $7A04        ;decade++
    - ~/ n  w- i& K0 j; H0 |7 j, S$ P
  879. LIFEL8:( x* O( w/ _' I! z  c8 [- `
  880. LDA $7A01
    1 T$ `2 P. k8 J/ U
  881. CMP #$0A
    : f9 m# m- h- [* q2 e+ I1 l0 m
  882. BCS LIFEL7                ;$7A01>10 goto L7
    . p6 ~, M2 m$ F/ u  p
  883. ;unit+ s/ o9 T1 p% w; V2 P' l2 D/ Y
  884. LIFEL9:2 ?2 ~( e2 G5 z9 w& [7 U4 W  {
  885. LDA $7A01        ;$7A05=$7A01
    * f$ y% K. _5 w# R
  886. STA $7A05        ;unit
    6 z2 M7 S+ ^* h8 `- C' u
  887. RTS        ;return7 D, Z& x% @' k! X* i& v' n0 F. @
  888. 6 e8 y6 `8 g+ A, J0 ]' ^& V
  889. 6 T8 x! ~' D9 g- ]' x- R

  890. $ q  C  D$ W4 b/ o8 }6 K8 R
  891. PPU_PROCESS: ;PPU地址处理程序
    % G4 @4 {: `& Z2 ^4 n
  892. LDX #$00& E: q9 D* m5 A8 \6 U) V
  893. LDA $FF! `. p9 L0 T; C8 O- R  y
  894. AND #$01& e9 b" l; s- a! t. Y1 _  {
  895. BNE PPU_2400_27C0
    5 O1 z, D  t) m# q& K
  896. PPU_2000_23C0: ;命名表1
    , a" }- \. T4 X& o9 p4 I
  897. LDA $0703! ^  F% B& m/ q! o, X7 v
  898. AND #$FB
    8 x' v: ~: }* Y3 C, i8 B  }
  899. STA $0703* b5 s3 v6 {$ |0 k) ]) V
  900. RTS1 t% W9 j5 \+ x, G
  901. PPU_2400_27C0: ;命名表2
    , l1 @& ]3 x# y  {; Y2 W
  902. LDA $0703
    . @; b% ~7 I- m; }. S4 C$ B
  903. ORA #$04
    ' Q, K* X# T* I4 F# s) n
  904. STA $0703
    3 v. f# ?- C# \4 z  L4 T1 G7 ^' O0 l
  905. RTS
    1 i; a# C4 J7 s6 f. N9 E$ `
  906. ) C0 S  N, w2 r, O- J* }8 e
  907. PPU_START:  ;PPU数据写入
    + C' }9 K7 b) ]$ ~7 d2 }
  908. STA $21& z& k+ [7 G0 [2 \
  909. STX $0701/ k+ _' `) `: v* f
  910. LDA #$00
    % b, u+ K7 s) I- D: k
  911. STA $0705,X
    - V( O+ v0 J* d7 r
  912. LDA #$01& o- h7 s- l6 k+ \% |3 g, M
  913. STA $07007 G( [- V1 K. j
  914. STA $0702" ^2 D) E) P4 r
  915. RTS8 y. H+ M. S# \4 F6 q3 n# D! Y

  916. 0 k, D4 B0 i' Z) H& M7 f
  917. 4 k9 Y+ d* S" |+ P# o' u

  918. * y. _$ u. b4 ?0 p

  919. * U: @7 T) \9 V. P' T2 y- Y
  920. " Z) ~4 l2 v/ l- r& ?; j
  921. ; |- n! J: @& |$ Y$ q
复制代码
' ]8 y' g+ j- C4 d

本帖子中包含更多资源

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

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

签到天数: 1999 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!# {3 A2 N1 `2 n# R

签到天数: 2521 天

[LV.Master]伴坛终老

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

签到天数: 25 天

[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, 2024-9-24 02:32 , Processed in 1.075196 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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