EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    , b9 j( X: v1 f. [' t" o- c% W
  2. 作者:FlameCyclone
    , y" y* e& \% Z" G# Z; P
  3. 时间:2017.2.12" P/ C2 ^6 ?4 x6 F, X: y- m6 C: H) c; {
  4. % m; R1 X. b+ g
  5. 按键跳转:
    , O0 U7 i" O1 t$ T! L
  6.         C1EF:95 F5 94 F1; H8 r1 I9 x- Z- j/ O, P4 j. w
  7.         C1EF:20 70 FB EA0 }' W* K9 U8 \
  8. + n1 O/ z- ?# k4 V
  9. 滚动偏移:) H. Y7 b. y9 }/ L
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 206 Y) s' W( Y) l! ?' I3 K
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    ) L8 ^+ w; m# i8 v  W8 O9 x( H3 q
  12. ! U9 {6 ~/ ]* l5 g
  13. 背景调色板:
    $ C/ U2 K: i5 o7 H- t
  14.         CF20:9D C0 078 N  Q& U( G3 }- [
  15.         CF20:20 A0 FB
    $ G; L; \8 m6 s3 q  Z$ ?- `# z4 \

  16. 9 b0 d/ g7 `& A
  17. PPU BANK号:
    & Z* M: I: x0 H2 v; D+ w8 u! P
  18.         C8C9:9D F4 07
    ; T) x5 F/ K4 a& v/ x3 @
  19.         C8C9:20 B0 FB
    + e- Y, k! K6 @1 R( r

  20. 6 H. l  }0 d/ R/ ?8 K+ F/ H2 _2 \
  21. 按键跳转:
    , V" M# z1 x. [& W
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    ) q+ v, X; u+ R9 u$ p/ c
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20! q* r' J' U. O2 |5 ~
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF6 p( g/ a/ ]# {! c& g) @8 p- }) t

  25. . c+ ]; W& u& e& O, Q. C" X
  26. 背景调色板:2 a  I6 q* c4 ^
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF
    , s' |4 ]1 `) F

  28. - t$ S7 }* ]! [- C
  29. PPU BANK号:: O, M- S1 B7 u7 U3 p  e
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF
    2 |. ?7 W# F+ E# u! X' N8 e7 ?
  31. % O5 |& ]% M1 ~2 J
  32. 滚动偏移:# o  f( s; @0 K9 I) L
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60& u. h+ ^* N, P& x! \& ~" a
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    : v" U! [8 x( g& J% ?. ]

  35. : C8 h0 ]" b9 I

  36. 8 H5 h3 u5 o2 o
  37. 切BANK后A000:
    ; ^1 h5 w* V8 I- X
  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
    , R. H) R- O$ h9 R( a. T1 t- a
  39. ) _% H! k* d. b$ R* L) z
  40. ' X" j5 y) }2 B
  41. 6502 simulator:) D% W) V" |1 j# x' M6 w
  42. PPU写入程序:
    $ \( _) k% v6 o  {% u" t+ |
  43. .ORG $A000
    . S. a* A/ h2 T. U9 s3 ~$ {
  44. CSP = $80; z9 F# M1 f0 {" R4 m* [
  45. C0 = $81# E: K$ m. E' ~4 X
  46. C1 = $82' d6 {7 l  Y* r( {0 U
  47. C2 = $83
    : w, h/ k. q! X, T1 Q" G
  48. C3 = $84
    " L3 H1 j) X3 I: i' X
  49. C4 = $85
    0 A# A  {- N% G  |' d# V/ q  X# B
  50. C5 = $869 ~+ d- N& i. W' f
  51. C6 = $87
    2 `7 u0 h3 V* X! |
  52. C7 = $88. |& g+ A$ g" \9 f8 j; N
  53. C8 = $89
    : u& Q( K: W- w6 e) s7 o
  54. C9 = $8A! p& }5 D1 N+ O$ r; U! ~4 z
  55. CA = $8B
    * P9 V2 ?$ w* e* M8 @3 m) `8 s- F( e
  56. CB = $8C* A# _7 R$ ~* k  ~, }
  57. CC = $8D
    ; A9 L( ]0 {( P/ P- }
  58. CD = $8E
    ! _) F5 x7 O+ n( n( U8 R
  59. CE = $8F
    5 C. h# d# P  L) |1 w# b
  60. CF = $90
      ~  }5 o) x( }
  61. CG = $91+ x0 P) Z" {0 ~9 h7 y. `
  62. CH = $92
    # n- o$ @" c. T0 E! u+ q
  63. CI = $93! d. J7 V% D6 ^8 s7 U
  64. CJ = $949 s, y: F( `7 Q
  65. CK = $95
    0 Y3 X8 ^2 ^/ n4 \' W# O4 y- Z" P
  66. CL = $96+ |+ d' `: l% `/ N1 [
  67. CM = $97: R/ W% ~2 J2 X
  68. CN = $98
    , e* ?4 C6 V9 N: \) Q
  69. CO = $99" Z8 E) A8 _) `
  70. CP = $9A
    $ Y& p( o4 E4 s7 A2 d: h
  71. CQ = $9B, z3 \  i5 C; }4 T
  72. CR = $9C
    % t6 s: C+ @& x$ ]: C
  73. CS = $9D
    0 \0 Q, m; |% q
  74. CT = $9E
    / u0 f1 u% e* n
  75. CU = $9F
    6 h( D4 R' S; s. z8 c  k
  76. CV = $A03 g4 w# E1 r3 _2 C/ n; x
  77. CW = $A1
    - W! N6 {$ M7 n
  78. CX = $A2
    0 [7 x, O1 {" ]- g( r
  79. CY = $A3
    ! O( ]) }+ g" }7 E7 F
  80. CZ = $A4% L- h; ^* @; F! X1 ^
  81. CEND = $FF
    6 m$ S2 R1 j: o& ]
  82. 8 _# {4 s4 u' Y
  83. ( g. D# G0 J. ?) g0 s' w+ x' V) t
  84. CMP_RE:
    ! t% i. }& w! D) b7 r/ g6 J
  85. LDA $FF
    * _; t% q7 E. \3 L" X( ~8 `# D
  86. AND #$7F* Q! W; V# P/ {
  87. STA $20007 Q$ |! b7 q  m/ j# ^
  88. LDA $2002
    . I/ |$ ~) w- }6 T1 }; e
  89. LDA $25
    # ~  A' M) m! H# G' V
  90. CMP #$01" ?2 Q( f8 l( v6 K
  91. BNE PROREG% m( D, X6 x" [, Q8 X- H/ Q6 j
  92. LDA $F5,X
    / ^) Y: A2 {  l, o- h/ b/ H
  93. AND #$CF* M1 K' s* a3 l" K; A% {
  94. BEQ PROREG) Q+ N& J/ W* T" j& W8 f" m
  95. JSR PPU_CMP9 ?1 w" p* m6 g& V) S: ]5 X
  96. C_RE:
    - y3 Y5 _/ J, ~  t) R0 Y' n
  97. RTS
    - p. {% m7 C; y1 Q" J! ]% M5 g9 A
  98. PROREG:5 D/ O' @6 W1 w) J4 n* z  k! Y( u
  99. PHA* S+ J' H, z' G+ I3 ]) z0 ]
  100. TXA' U& y3 |, h/ C6 \, \4 a* N5 C
  101. PHA+ B. G* T9 g, Q
  102. TYA
    1 S1 c4 r  R, D* J0 N
  103. PHA
    ( R: S, p1 u- S, H4 n
  104. LDA $251 A' K, ^* s  Y, i; j$ i
  105. CMP #$01! \3 `3 s( M  e( t8 f2 e4 s6 v
  106. BNE RE7 J9 t7 H+ ?; z; K; X& N/ }5 c
  107. LDA $010A7 K+ \/ c% e% l% |/ Y7 y/ Y% g% |
  108. CMP #$003 T0 r, U' w3 E
  109. BEQ P16 q3 Q4 i/ s4 x
  110. 8 S: d- h4 U2 T
  111. RE:( B" F% }+ n& ^. ?) p
  112. JMP PPUWRITE% k3 S6 W4 f9 ^; H

  113. / Z& c# O7 m9 K; o) |* u& D/ K
  114. P1:                ; 条件判断
    2 M/ Y( s8 c9 b! s" ]7 W0 d$ ?( U
  115. LDA $7FFF& |% h: K. b) B$ o4 k
  116. CMP #$FF
    " X! H7 |% ^( a! r; N' h  m  C* w
  117. BNE P1RP
    " m/ J" p/ V1 U7 a( D% g' y
  118. LDA $7FA01 q# l( N3 \- {2 t6 _$ ]# b
  119. CMP #$007 t- V! R) k& c7 W; T( j& f1 x" J: K
  120. BNE P1CMP3 c/ `/ `! m$ C" |0 e6 R# ^
  121. LDA #$FF( Z1 I3 [8 @3 l7 O
  122. STA $7FA03 z, c9 |" B& n1 e
  123. JSR CLEANA
    8 }/ ~+ I) y0 f
  124. JMP PPUWRITE+ n% S: V3 g7 R0 J) w
  125. P1CMP:
    ( G* H; W2 H0 p( o0 U
  126. LDA $7FFF. ~' h* l, g6 f2 f) v
  127. CMP #$00+ M. q/ A3 q: a# ^8 |
  128. BNE RE" B) X1 X$ t+ \( Z6 n
  129. P1RP:
    ) o  W6 n. H, ?
  130. LDA $2002
    + J( F# g% C. c! z" |/ b
  131. LDA #$00
    ( q2 H- _' Y: \2 L1 a" M3 g7 C( m
  132. STA $2001# d8 ~  n7 d- u9 w* y9 V
  133. LDX #$00  K0 Y; L7 E4 N
  134. LDA #$FF
    1 p$ D/ U1 x7 |! _' a9 n( Q
  135. STA $7FFF+ Q2 e. ~2 z' P9 R: q
  136. STA $7FA0' @2 j- F, L8 ~: Q/ P
  137. JSR COPYPPU
    3 a% a/ y: j- b3 U# X6 i  k
  138. PIRP2:
    3 u3 n9 n: j# I7 d: p9 \1 T
  139. JSR CLEANA# e0 {" v5 t: \5 ~
  140. JMP PPUWRITE
    ' e' w# w; j/ x2 b7 I: g; @

  141. ' {# C' K, K: X+ ?" X* z5 r
  142. COPYPPU:+ p, A4 P0 X9 O7 Q
  143. LDA $FE
    . r) j% G5 L8 M. _, t
  144. STA $7F507 N6 z8 o* D; Z3 T
  145. LDA #$081 C2 f9 D1 A( ^$ ^1 I- R  M) G: [
  146. STA $FE
      R6 }5 n: f* J; O4 L, N
  147. L0:
    5 |& e, g; k* v2 x# `; \6 v9 X9 L" r7 ]
  148. LDX #$001 G! H( F$ u" ~4 ?
  149. COPY_07C0_07DF:
    # H8 Z) _2 G. n% e# Y, L# G
  150. LDA $07C0,X+ k  }* D$ _: i# y
  151. STA $7F00,X
    $ I+ N! Y- s, e* l7 K' F% Q
  152. INX
    2 N) }& h+ i2 _  `- T* v, M1 b' W
  153. CPX #$40
    ; y# j7 R" q) c$ M1 @7 W" S
  154. BCC COPY_07C0_07DF4 T' x6 K' V) d7 d) }0 R% r
  155. LDX #$00
    + R) @5 O( @& f/ M' R
  156. PPU_07F4_07F7:7 H! a8 F) D. v5 H( `: ^4 o# c
  157. LDA #$00
    4 U; U3 _8 h5 ~. {8 _. R
  158. STA $07F4,X
    ) g% q! V2 H# e1 w1 Y! X- `0 u
  159. INX0 B6 @, P( ?! t8 U1 |* x, H
  160. CPX #$046 D& u# \' K& Y; N* D0 M" t. v
  161. BCC PPU_07F4_07F7
    & }$ V. K& g0 }" J' Z2 v4 q+ \6 X
  162. LDX #$006 F/ z) Y' t6 v( U6 i: ^
  163. COLOR:
    + @" e) M3 T! k3 L/ f" j
  164. LDA COLOR_DATA,X* C5 g! V, m' y
  165. STA $07C0,X
    / I) j& q3 U& j% n% O/ N
  166. INX6 _% j- c2 M! u5 R' Z* M( t, }
  167. CPX #$10+ ]! \+ T+ ]# O5 n
  168. BCC COLOR
    " z% p1 U7 I% f1 P
  169. ' O7 N7 O- J" ~' U
  170. PPU_COLOR:( r4 P9 k' k, {
  171. LDA #$3F
    1 i/ G  r3 n/ u- s8 p, y8 J
  172. STA $2006
    1 f' {- d9 W! \% U0 m
  173. LDA #$00
    1 L0 \" S% I3 o( Q
  174. STA $2006
    $ M$ y  T, z8 C0 a# t/ v
  175. LDX #$00& @3 r. A# P2 ]* w- L# b
  176. PPU_COLOR_W:. \" Q# x. k( u8 \  w( `* m8 A* }
  177. LDA COLOR_DATA,X3 _6 `1 |- m9 o, i% g9 r; q" ~
  178. STA $2007& t) I- A) G6 Y* q8 m! z3 R0 n
  179. INX
    7 ]# t" V2 c; ~- U
  180. CPX #$10
    1 l0 z. h4 [" T! ?; I( ]
  181. BCC PPU_COLOR_W, g7 T, f. o4 C

  182. 8 ~5 t: [. V$ O4 R1 m& h
  183. 6 t3 E# F* [: u% z% I
  184. LDX #$00& U0 N. ?" `, j6 f) ^, M
  185. LDY #$00. ~0 L  t5 b: |
  186. LDA $BD
    , b/ X! t: }3 n/ _
  187. PHA
    0 C) B( a! D# r& Y+ s. \
  188. LDA $BC
    % V* q- C1 n1 e4 C* u6 T
  189. PHA
    ) h( r: S- h, D4 R
  190. LDA $BB
    . ~. h7 G! e* B& D' e7 T, W
  191. PHA: v+ ~4 s3 p* [7 h8 I' N
  192. LDA $BA" d  w9 _, b% P) ?4 Z3 G: S
  193. PHA4 Y: t/ ]4 [2 O& R; J9 J! S9 v7 ?# N
  194. LDA $B9' P# H0 q* e" H" l* x
  195. PHA
    ! e' R+ F' k' y) ]4 j3 a4 E! ?' F
  196. LDA $B8
    ( i0 j, ^2 U( W  X2 A& H' K* _
  197. PHA! u& @6 x; U' _; h8 s
  198. LDA #$00# p5 \; e# S2 h0 s4 M- q# j
  199. STA $B8
    5 @0 ~, }" G6 L2 N! J/ C2 S
  200. STA $B9/ a. y9 l) n/ z6 s* B
  201. STA $BA3 c  B4 z2 L! s& h2 Z8 ?
  202. STA $BB# P1 [3 y7 p6 d' z4 ]
  203. STA $BC4 K& B6 V  s1 }/ t' ]! j8 c+ [
  204. STA $BD
    , P7 ~2 g; P$ X3 g
  205. LDA #$00
    1 J2 s! H+ X+ U; C
  206. STA $BA# [  I, X4 b" f
  207. LDA #$20
    - y" L1 h. P" ^3 N" h
  208. STA $BB$ z, S! m. G( x% [. \
  209. LDA #$00
    ; L: c# J  a  J1 p7 f& k% [; I
  210. STA $BC$ M! @+ c' ^+ I  q; [
  211. LDA #$605 T# Y1 v: c) V( e, a3 a- A. T
  212. STA $BD
    + u/ t% z  W4 V8 n8 B& p
  213. 5 o7 C/ O* ^2 d. z2 b
  214. L1:                ; PPU复制
    4 {. r& g. |- p/ X
  215. LDA $BB1 w. c7 ^* ?' I* ~- y9 d
  216. CMP #$28  q2 j6 F5 {4 u% v. d% T
  217. BNE L2! _& z9 E- R) @( T, N. R1 ?
  218. LDA $BA$ g0 q3 I3 X- m0 y
  219. CMP #$00
    " v; S+ e: w3 ?0 K" S/ H6 E
  220. BEQ PROADPLA
    8 d/ `5 O, W0 o0 P" F; `

  221. - J& ~; e' X; o; w
  222. L2:$ I& s. p4 K) R" ~. l/ g( H/ G
  223. LDA $BB; ~, k( @3 z- k3 }: z4 t: q
  224. STA $2006. H9 p; q0 p9 `
  225. LDA $BA4 G$ m  ^7 r# l% z0 b+ v
  226. STA $20061 Y  x8 G0 n9 I4 Q: Y  C

  227. ! [2 y% r% _2 [2 D& Q. t* r
  228. L3:
    . T+ C+ U6 o% k# J
  229. LDA $20070 G' ]$ p/ z5 G
  230. LDA $2007/ P- y( f( b! h; k8 ^
  231. STA ($BC),Y
    / O" W! b7 X: i* Y! K2 U* ]

  232. - C, o9 }  m$ q3 \/ ~' q
  233. L4:& d) Q& Z# ~, e- y7 S+ X! `5 N+ I
  234. LDA #$00& Q6 F* ~. w0 Z
  235. STA $2000/ t7 I1 m1 Y& d/ [9 g
  236. INX
    . V9 c0 [0 ?8 B" m  x' `
  237. INC $BA
    1 a% f6 f$ ?0 [: M* d
  238. INC $BC  T4 p4 \$ Q3 x, H( ~2 V$ N; d
  239. CPX #$00" f2 ^1 ?& r3 f' E' |
  240. BNE L12 _; m% d3 p$ ?$ Y6 E, k6 t
  241. INC $BB
    9 C6 @4 L% R3 q' ?& |
  242. INC $BD
    + j/ V6 f. X! P
  243. JMP L1
      i7 k! o/ q. l1 ]- ~* w/ U7 v
  244. % X( R' ]4 @6 ^8 ?0 U, j
  245. PROADPLA:                ;出栈8 H* h& x' v; ?
  246. PLA3 j+ b6 B4 k, G8 d& U
  247. STA $B8
    : {$ S* W2 X/ h) Q% m
  248. PLA6 d/ |' P. m. y; |6 ^, u3 a
  249. STA $B9
    : C' O. @4 l; r/ }
  250. PLA  X5 i7 u9 P% [6 `; p: B) ?' I
  251. STA $BA8 P$ \6 I% F1 Y+ ~7 E1 y
  252. PLA
    & Y# W" N6 A* S( _7 Z) }; {- z9 p
  253. STA $BB0 x! V4 B9 G2 y, m$ r' ^0 R% M
  254. PLA
    / ^! g2 |1 r; Q# s3 ^8 _9 m8 [4 q9 c
  255. STA $BC
    5 Z! Z; E: k! l; w: |) {+ B8 E
  256. PLA1 X. c+ s! E7 H
  257. STA $BD/ Y; h; |: Q$ N  e" q1 n. x
  258. CPRE:+ [' `/ _7 F+ u* Q: r. ~" ^
  259. RTS
    * A0 O! h) v6 y
  260. % W) `' }+ {5 P& r; y# X  T$ Y) n7 U1 U
  261. CLEANA:                ; PPU清空
    . O; G8 |6 f( O
  262. LDA $BD
    # s9 w. e# V1 \* v- G* e
  263. PHA
    $ C! o' }  w3 Z0 |8 e  f% ]
  264. LDA $BC) f. u$ |# [4 B0 K+ ?% v  O
  265. PHA
    0 Z. V0 q* S5 Q: z* A# {+ N# e# g) z; Z
  266. LDA $BB) L! t# B% c$ f2 t
  267. PHA
    : `8 a6 z9 ]% \" S; p( t
  268. LDA $BA
    % `' ^: w7 `! L9 j8 g+ l) ~
  269. PHA0 ^& p& u, E4 T2 z4 v; D
  270. LDA $B9
    & L" H6 x4 n( q7 ^
  271. PHA
    6 V0 a; h7 J6 A( n7 E, T8 v, Z
  272. LDA $B8% H4 |" x+ X# y. b
  273. PHA
    : I  \' o$ u: i+ w; b( e' v4 x  R* l
  274. LDA #$00
    # G1 @/ T# j9 K  F) l: _2 y
  275. STA $B89 P) ]& F: p) |5 q3 P; A
  276. STA $B90 W# f) l( ~( d& K
  277. STA $BA. ?* I* v# |1 J2 m+ Q& P  P) I
  278. STA $BB1 L) K% F8 q$ ?. I$ C$ P
  279. STA $BC
    % o7 p4 [+ h( s- q9 P* ?
  280. STA $BD7 J9 n: e" s% o- N* ~3 M
  281. STA $2001+ |+ _( O1 L, i7 X' H4 i+ a) v  m
  282. LDX #$00  `9 G* h- t0 X6 `9 _9 O
  283. LDY #$00
    . f0 t* ~# k, z) J
  284. LDA #$00! i; ]; T) {: c1 Y( Y
  285. STA $BA
    9 G; R5 i$ x) |( s
  286. LDA #$20
    , G" [! I& q1 h% z
  287. STA $BB) W6 c; Q0 m/ P6 w

  288. 4 X' ?8 a8 [' }
  289. CL1:
    3 |' ?+ F+ X1 X5 }1 d& l" I
  290. LDA $BB, b& m1 c2 b0 l' x8 c" @
  291. CMP #$284 E+ j- C& k9 E  M* d  y
  292. BNE CL28 j' A( N9 g8 K, C+ c2 u$ Y0 L  t
  293. LDA $BA1 {: u! c6 W$ v4 Q: [" B
  294. CMP #$00; g0 S% F, I' D  h& v& U4 u* i
  295. BEQ FREEWRIYE
    5 V9 |+ j) ^! Z( K! t
  296. 1 ]- q# g3 i% M" T( ]
  297. CL2:
    % y: g1 V* J% _; K
  298. LDA $BB2 Q- I) _& ]% [# m, [1 g
  299. STA $2006) B, R: ~8 n+ d3 g
  300. LDA $BA3 G8 r. R4 ]8 P3 }
  301. STA $2006
    + @/ ]7 L  D: o, p6 F4 _' l( l/ ~; {) T
  302. " H' T' W  ~$ {( R3 y! k; h
  303. CL3:0 ]" h! L7 S. a/ V5 y
  304. LDA #$005 F7 V1 A4 T0 e" b7 }  N
  305. STA $2007
    , A- S7 A" T6 f" J1 A/ @
  306. ( [6 e' [3 }! |8 @- C
  307. CL4:! V' V. U* b; ]- V8 c$ U
  308. LDA #$00: M) {/ c7 E* U3 K" L
  309. STA $2000- v: t6 i$ W6 l- `& e" _
  310. INX
    , m$ i. b, f  |: V
  311. INC $BA
    - o+ }2 `: P6 m6 R
  312. CPX #$00
    ) i+ n2 z% u& Y$ p, U
  313. BNE CL1
    * G8 Z$ H) E4 F( x" }. D0 \: F8 S
  314. INC $BB
    2 J2 v- i# x5 Z2 h& |) z0 Q' d
  315. JMP CL1
    % Z& K4 T1 U; o' C
  316. . L( v6 }" `- u. l

  317. 3 U! Z$ H+ B9 E7 \, X. D3 P% T
  318. FREEWRIYE:
    7 L! s1 T$ Y; W( n: B
  319. 2 Z5 T! J  P: _3 U* \+ U
  320. NOP
    ; h8 X6 u# J7 F2 S( _

  321. 1 w# T& E+ j4 v' T1 ]0 p" x8 [

  322. 1 z9 A# I' y3 b% [" _

  323.   n! k5 L! ^. T
  324. % b' I( J/ ^- g# g+ C: g8 t9 z

  325.   E/ A% k$ s( o+ F5 n) n! {
  326. CLEANF:                ; 恢复现场! g" T  Q, h  T9 X: Q3 J5 z

  327. ! G: O3 z) A1 l; s! `( h- s( b
  328. PLA, i' ~% A% L( b2 ~7 {; X- w
  329. STA $B8
    & i/ O7 S0 _( I& S% n/ W
  330. PLA  v- j1 t! ]) X: z' k
  331. STA $B9
    1 y/ k3 \& _1 Y2 v: R0 ?+ m
  332. PLA
    0 ^1 y4 A6 `! l  f' F( @
  333. STA $BA: i+ f  W$ Y+ A7 j
  334. PLA
    9 Y* I) U- Z2 a. @
  335. STA $BB
    0 l4 i% `, `- n+ q5 Q/ e- [" K! W
  336. PLA. ]& X2 U. ]7 V* N/ G( u6 a
  337. STA $BC
    : O4 u# y: `3 U! R5 Z
  338. PLA
      l, _) q  s+ c
  339. STA $BD' @0 m7 V& Q9 q6 B5 W
  340. CLRF:
    * _2 A( o+ Q! U1 w' w* r# M: K
  341. JSR FREE_PPU' i& ^4 w7 ^/ S- M7 _9 z; j" j3 k
  342. RTS5 S" p; S6 l3 b2 [" A: ~

  343. ' j# ~2 ?' \/ t  i

  344. ' m# y& u- V3 H' i1 n8 f2 A) ^4 n
  345. PPUWRITE:    ;PPU写回
    / r, R- _6 ~( d4 {9 Q& f/ [8 G/ ?
  346. PLA. ]5 v2 @+ w# W2 `0 _& W9 H
  347. TAY& _5 L$ }% ]9 K: u; I- F) |
  348. PLA
    7 E, D. n2 |( H- D; g* R6 v' l7 \( a
  349. TAX
    ! u& `9 ?: S& U2 ?, Q
  350. PLA
    " q5 ~" _) `" W, j- u2 l% v# T! L
  351. LDA $25" q$ [4 [3 T( L3 |' `9 m
  352. CMP #$00
    5 U+ P) V0 R$ i! F' x1 K: T
  353. BEQ WP1& f3 x  `( N8 k  U. g* N( F# A' g
  354. LDA $25
    , i2 r  o2 ?) p. b* v1 @" A% U0 b
  355. CMP #$01" x8 G+ n2 b: i1 w
  356. BNE WRE
    , q' i0 z% S. r1 i  K' e
  357. LDA $F5,X5 v3 L2 ~, [! }
  358. AND #$EF8 [& j% E0 ~9 W
  359. BEQ WRE2 o8 f5 N; {3 U# m" J' K
  360. LDA #$00/ c) z: s# H2 [/ W: T* H
  361. STA $7FA05 g  c) R3 }: E3 v3 B

  362. & q0 N9 X0 M. `1 o
  363. WRE:" J, H/ a; v, G0 f7 n7 P( g/ w( k
  364. RTS
    + f$ X: g3 |8 s, v7 e

  365. % k- B" d, z/ Z1 C. m6 @; n! n
  366. WP1:: s- A" o9 }. ~. P
  367. LDA $7FFF6 N' O8 t# i/ z& N6 d
  368. CMP #$FF' Q8 {  A( P; B0 b- Q; J- r
  369. BNE WRE
    2 j# q% [( u) @
  370. LDA #$00
    , |. f& @6 n$ O* f
  371. STA $2001& \9 r" }9 a" O5 J: }( B) o
  372. LDA $BD
    - ?: B+ n& x4 f+ p  A
  373. PHA
    : T5 d) G" R3 S0 k4 }& x* J3 ?+ h# Z
  374. LDA $BC
    ) I5 M' m( ^# N. @7 J
  375. PHA' L4 Y7 Q, y" s+ c
  376. LDA $BB1 R( Q8 v* t. @
  377. PHA
    ( Y# h6 J' i9 W& [* M) L" K
  378. LDA $BA7 r5 I, K$ D+ G% R& y# ^3 F  f+ B
  379. PHA
    7 c2 y& G6 L" D' {$ d
  380. LDA $B9- T& }3 X9 k6 W/ C0 k, Q' C
  381. PHA+ O4 W# @# C3 d; z0 p
  382. LDA $B8) l9 M: G  o) d  J: V+ n
  383. PHA
    " V( T7 T* Q, p- T
  384. LDA #$00+ H4 F& F8 _( \2 M+ l
  385. STA $B82 P. ]. _4 g7 x/ E1 b
  386. STA $B91 }4 r2 `+ F2 A, `: H
  387. STA $BA& l0 o) q$ l$ v0 n0 U3 A
  388. STA $BB& l4 R6 G- e6 U) N+ c: S# _
  389. STA $BC2 T# T. z) ]( b1 }  ~
  390. STA $BD
    - l: {, s; U3 h- u  d8 d
  391. LDA #$00
    9 j- `0 j6 P5 W9 \9 p* W% d( v
  392. STA $7FFF
    ! A, n) E, n( u0 Y! _; U+ X

  393. . C. z1 K8 ?: e
  394. WL0:
    4 H" l1 }% T* K3 V* s2 N5 q
  395. LDX #$00
    ) T, Y: {, K) _: D5 Q
  396. LDY #$00
    7 L, a3 P& f- q: J1 s* T) o6 q
  397. LDA #$00$ d, S" ?. V3 O7 R, ?, ^. y
  398. STA $BA
    7 p5 l# x; V" g' ]
  399. LDA #$20
      C  z4 U. ^& [1 R
  400. STA $BB* }! }5 T& B9 L# J, A
  401. LDA #$00+ a  e  u# n- B" o
  402. STA $BC4 g- d7 W4 T  O9 |4 s9 N9 j. S
  403. LDA #$60
      T7 [7 K1 M' G% |( Q
  404. STA $BD
    % [: G$ Y' a9 i1 I: N$ m2 d1 A1 \/ Y1 E+ G

  405. ) D4 I+ X, o, W2 p
  406. WL1:8 d4 |1 y0 O/ D3 K, Q& ?* d: ?" J8 ]
  407. LDA $BD9 E* R. w7 r( ~
  408. CMP #$684 k: m2 C) n; ]$ Z: p4 r% q
  409. BNE WL2
    $ a3 W$ a  Z" w9 N" h
  410. LDA $BC. T# y. w+ ]  g
  411. CMP #$00
    - X# u; @4 u+ B; N7 X7 W
  412. BEQ WLR# _' ]! a8 P- M, e4 A* E' g
  413. 3 F; y) t1 X' U# w; t
  414. WL2:
    0 _2 Y! J; E9 p8 g: h& s
  415. LDA $BD' s! [! M* Y3 u% a$ F3 K
  416. STA $2006, u- J$ L* l: n# _4 F" s
  417. LDA $BC" T. q& M) I& y2 w, j1 ~/ m
  418. STA $2006$ S# N# p4 [" G5 P1 f  N
  419. & }& v' r$ h9 V7 G/ W' `
  420. WL3:/ ~1 d( v3 m# B* {; \8 [
  421. LDA ($BC),Y, b3 }4 k6 B2 ~2 W+ P9 g
  422. STA $2007* n: l7 T! |1 ]$ y+ [3 v
  423. & u' {4 r4 f0 @; t; D* p
  424. WL4:% ^+ J0 j$ |7 X3 V6 K2 N  q. |
  425. LDA #$001 Q# e. |) [! }+ \+ z2 B- @- d) t
  426. STA $2000; h+ I# ~- o4 _5 c* [& F
  427. INX9 g! ~" i; U. N6 N9 s7 ~4 B9 x
  428. INC $BA
    - T7 \9 t3 r& L; h4 d1 ?! }4 @
  429. INC $BC
    % {# C4 j! I3 h" @3 A2 T
  430. CPX #$00, [, h% a$ u! R; L4 Z
  431. BNE WL1
    7 a8 `% o: {: C
  432. INC $BB2 F  D, v  G% p& M% h9 x4 K0 ?- K& H
  433. INC $BD
    - a/ \9 C  W: I- \6 s" d
  434. JMP WL1: W* \& S; d5 l% M7 d
  435. , D1 c3 j! g, K. b  o; z7 k  b
  436. WLR:+ D% v) [4 X9 x5 a* u7 ]- v' `" ~
  437. LDX #$00
    2 P$ A+ t0 u' N$ I; l" m
  438. COPY_7F00_7F3F:, V' O! m) I( }1 u. I3 l
  439. LDA $7F00,X+ ?( ?) m  f, V6 l; i
  440. STA $07C0,X
    " b- k5 }2 H/ O% U; T5 @* z
  441. INX
    * q) B- Q+ g7 T" i
  442. CPX #$40: J0 o9 V" q1 Z; ]
  443. BCC COPY_7F00_7F3F
    8 i/ ?! x4 M" i

  444. 8 x: g# y( `+ j  T- x+ S$ i
  445. LDX #$00
    3 N$ S7 \2 [1 A
  446. LDA #$3F( R/ y) k8 F$ d# c9 }7 z
  447. STA $2006: `& h9 v% E. X1 b' j! O
  448. LDA #$00$ L7 G1 N* O: o- l% ^1 F
  449. STA $2006
    + I1 a) t# q; ~9 R
  450. COPY_7F00_7F10:3 z9 n0 C8 C$ J! U
  451. LDA $7C0,X
    8 }+ Q0 `& c1 r
  452. STA $2007
    # k# s" F( M+ x8 M! g
  453. INX. K7 p. \% J- B) m2 u  R% w
  454. CPX #$10; ?: B; Q& ~7 R3 S8 \
  455. BCC COPY_7F00_7F106 S5 C/ g% R% j, S2 N% N

  456. " Z9 k% b& P, G4 Q. y% a# S
  457. LDA $2002
    5 C' x6 W. ~  w9 d+ `
  458. LDA $FD5 M2 r! x  ~  x1 m2 Z
  459. STA $2005
    + X* W6 N9 A) }$ @0 F
  460. LDA $FC
    $ t$ O9 M2 M) C. y' S( _: q9 V% V" W
  461. STA $2005: u& H: l" y5 ^! L2 b
  462. # }0 W! c0 L) q2 l
  463. LDA $7F50
    $ X4 d5 I) q8 q/ A& ~& }7 h
  464. STA $FE, q0 ~* I4 S0 [$ p4 {( h; p, @+ a
  465. LDA #$00
    & d7 \6 j4 ~7 j
  466. STA $2000( X) ?! O2 c/ G7 M5 \
  467. PLA3 A. h2 G! \8 I7 G: |- K- i
  468. STA $B8
    ! w8 r- s( K( I/ q. s3 x, x- V9 H  P
  469. PLA/ @4 D* x  V% F' k; @' K
  470. STA $B9) i- Y; I; B. s% {7 W
  471. PLA
    ! O4 d* u8 B# L6 g5 _# I9 V
  472. STA $BA
    & ^3 _6 h2 B8 |6 A
  473. PLA+ Q! {  m0 ~: _$ R* |) O
  474. STA $BB
    ; U- i' l: |# J) Y( u+ @/ M
  475. PLA% X' C1 m' T' L( R; A# O
  476. STA $BC7 d# q- M" @% c  k+ N
  477. PLA: J8 n8 `, T3 ^0 u$ @$ T
  478. STA $BD
    $ g  u2 q8 S# F; O

  479. * `& ?5 s0 E1 Z6 c2 B- l8 ^
  480. RTS$ J8 {2 r# R4 A' \

  481. 9 `4 p, a, _5 @8 r- z' p7 Z$ X
  482. PPU_CMP:
    * p. @+ Q( H# A$ b

  483. 2 [' t- Z5 B* r1 w' U$ Z* v

  484. / ]/ E  f1 ]6 `/ h" ~7 ^
  485. PPURE:
    / k) U" F9 I8 s9 ?5 Y! K0 b
  486. RTS
    / u8 c, i6 K! O5 g4 m, N  h
  487. 2 t3 g3 U$ c: `/ Y/ _' c
  488. 0 ?$ z: {4 N! [/ Q- k2 \
  489. FREE_PPU:
    ( y6 l; `- r/ ^0 m2 y7 z

  490. - h% D2 }" e) D4 k
  491. JSR TEXT01_PPU
      Z- E3 h: K( G: [3 w: C7 O0 D
  492. JSR $CBC0
    . P' K$ [3 U% S3 |4 k' B) A
  493. JSR P1_PPU+ _3 E! a2 s7 ?6 h
  494. JSR P2_PPU
    3 L7 x# w8 H' |& S
  495. RTS
    4 w4 m$ Y: i: ^
  496. * n6 h4 Z; O) e
  497. TEXT01_ADDR:4 N: b% _/ H+ G! P5 `0 [
  498. .BYTE $20,$422 o8 S6 Y/ i: n. x
  499. TEXT01_DATA:
    + N0 A& ^) t6 S4 ^' K
  500. .BYTE CH,CA,CC,CK,CSP,CB,CY,CSP,CF,CL,CA,CM,CE,CC,CY,CC,CL,CO,CN,CE,CSP,CI,CN,CSP,C2,C0,C1,C7,CEND
    . Q( K' ?  v. O4 n" p: G
  501. TEXT01_PPU2 t3 u' G* q& i  m( i  \( \% p
  502. LDX #$00
    5 Z& w+ {& U  Q2 }, U% w4 P
  503. LDA TEXT01_ADDR, Y& C, C1 e/ \, b: o9 A  G1 u
  504. STA $0703) R, b5 `& C' B1 x
  505. INX( w3 u* B, n. c) a; R! d' r7 @
  506. LDA TEXT01_ADDR,X2 H3 q7 K8 M- s+ A( U$ q% x) T
  507. STA $0704
    # X% ^3 I" N! o
  508. JSR PPU_PROCESS1 z% t. T" m1 Z' `" y& V4 c  x" z
  509. TEXT01_W:. V9 B4 i/ v3 [
  510. LDA TEXT01_DATA,X: l& J. S2 P5 ]  ~
  511. CMP #CEND
    0 V+ U" W3 e, r2 @5 P
  512. BEQ TEXT01_START# ]: z4 d+ s$ e% E
  513. STA $0705,X
    . Q  g" r& M0 A& L) J+ Q0 ^- a
  514. INX
    1 Y  i& i6 K4 R+ d
  515. LDA #$00
    ( _" R" |- r" g# I& C
  516. BEQ TEXT01_W
    8 J1 r7 U& u$ B) T+ G8 B- p! k/ c
  517. TEXT01_START:, `, ?* y3 u9 M. `
  518. JSR PPU_START
    & @2 Q4 u* d' P/ w9 H  S
  519. RTS
    ; q- k! @9 ?7 S4 A& ^* A
  520. 7 Y1 O8 ^' S/ Q0 c5 P9 [- ^7 W

  521. " j2 b8 G/ P, T0 i" S$ V: V( k6 {
  522. COLOR_DATA:
    7 s- b# L* b6 x: K8 I! i1 F$ _
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    * o( n9 Z6 S2 K
  524. * P/ W5 ^3 [4 D8 E- S8 M3 M
  525. P1_PPU:
    ) O* g% S3 j" s* q! h
  526. JSR PLAYER_01_PPU( X2 E/ k2 C# }4 t* C% e
  527. JSR $CBC0
    ( {) Q( Q( p, o+ l. z. N
  528. JSR RELIFE_P1_PPU
    / q  F( U; A/ _/ R" F/ F9 P0 F; C
  529. JSR $CBC0" V1 E; d$ g1 T. |
  530. JSR RELIFE_NUMBER_P1_PPU+ v: T9 ^! f/ _& _+ b# h) K# S
  531. JSR $CBC08 f$ \& B7 S) w) R/ F
  532. JSR WEAPON_P1_PPU- c: R5 W1 \" u9 ?0 O
  533. JSR $CBC03 N6 f6 V$ n" z8 X4 Y
  534. JSR BULLETPPU_P1_PPU
    5 G* M, {5 w0 B8 ?% F
  535. JSR $CBC0
    % h( \0 B5 k3 l; |% [% J
  536. RTS
    " H2 m" t; o6 B% s8 D  I

  537.   v7 s4 t8 s; Y" Q
  538. P2_PPU:
    # K$ j- K" T# u+ u& @: y# [9 {) o
  539. JSR PLAYER_02_PPU
    8 {/ I( o! ]' |
  540. JSR $CBC0
    4 o0 f+ n$ g; W, S/ x& X
  541. JSR RELIFE_P2_PPU
    # N: J' _* i7 E7 {2 c; c& \
  542. JSR $CBC0
    2 ~8 i# Q1 r2 G8 @
  543. JSR RELIFE_NUMBER_P2_PPU
    : a3 C6 p! L! _
  544. JSR $CBC0# o( I* K' z6 @& K5 E
  545. JSR WEAPON_P2_PPU
    . K$ A  x( n1 P$ i% o
  546. JSR $CBC0
    + E1 R: f# P; Y, l- W  ?
  547. JSR BULLETPPU_P2_PPU
    : a- Q$ b$ @; i) \: D3 _
  548. JSR $CBC0; U8 G; g/ \6 a) M  z
  549. RTS2 J, e. t: J1 \% P& ~

  550. 2 j# H" {2 K. [0 T

  551. 3 [/ q! W  G' C. f) s% B& F9 m) p
  552. " P6 U0 f. D2 F! x, h
  553. PLAYER_01_ADDR:! H8 u+ a+ H  K5 {0 l8 x
  554. .BYTE $20,$A3- x) L4 @) I( H7 {
  555. PLAYER_01_DATA:
    4 y& O9 ]2 }# |9 L+ A* |+ \; A
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND
    $ V! y, c1 ~" u5 ?
  557. PLAYER_01_PPU:) `, v# s. J. u* Y& t' S) L& @: R7 l
  558. LDX #$00
    8 ]. [  C6 B, `2 u) h- X
  559. LDA PLAYER_01_ADDR
    5 Q) b& N; W2 m4 L7 H& B
  560. STA $0703& z' a( w7 k  Z4 g7 a* _; J, v' d7 _
  561. INX
    6 |7 p4 a9 ~% t+ H/ M7 ^
  562. LDA PLAYER_01_ADDR,X% z& ^# d' ]! m6 X
  563. STA $0704
    : k6 a7 @/ g$ d) d2 y8 E$ n
  564. JSR PPU_PROCESS
    " m# Z# q; g2 }6 D
  565. PLAYER_01_W:' ]: m$ {$ ]* p1 q. r% |/ ]# s- e
  566. LDA PLAYER_01_DATA,X, T. j( F% A, ]: n2 ^7 L- t
  567. CMP #CEND% t/ [+ u- {, |# C1 V
  568. BEQ PLAYER_01_START
    # i) a3 ?$ E, L) U
  569. STA $0705,X
    5 n3 h* u/ V: e8 ~
  570. INX
    0 `) O3 T  ]3 B: s5 s, ]$ T
  571. LDA #$00
    6 ~! J3 g$ t( v
  572. BEQ PLAYER_01_W, p+ w- T3 [2 N0 V
  573. PLAYER_01_START:
    8 q5 r, \+ H. b3 g+ R2 u
  574. JSR PPU_START
    " U  ^: A; v" I8 o3 ^( @/ ?
  575. RTS
    + B% h5 s, ~3 @8 m# p1 Z  u6 I
  576. 7 O) J9 \; _* W* T9 Y! @

  577. $ y0 N( Y6 y7 [- Q: k
  578. RELIFE_P1_ADDR:
    5 h' p7 q" h! i5 r" y. H6 @5 |
  579. .BYTE $20,$E3
    # A+ d" N: r9 A0 X4 z# v
  580. RELIFE_P1_DATA:3 m& o, l0 U% w* M3 x- ^, a$ R  I" h
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND
    7 O4 y# f* E$ L* ]6 C& ?
  582. RELIFE_P1_PPU:
    4 J" ^  `5 T: |' W; V6 V! N6 w
  583. LDX #$00
      _, h) T) R) Y# Q$ j0 s/ Z
  584. LDA RELIFE_P1_ADDR1 P! F9 y5 r$ e9 _) o' e
  585. STA $07039 s  u$ c0 c- l  n9 Q! V9 p
  586. INX/ a# D$ R% m3 b9 R; [2 E. d
  587. LDA RELIFE_P1_ADDR,X4 I/ w: o  i1 {2 M5 D- u9 X* q
  588. STA $0704
    7 v3 f# S7 _" A# `6 u
  589. JSR PPU_PROCESS
    $ g$ }" M: |) r2 y5 _( g' X; Q
  590. RELIFE_P1_W:
    2 U3 M/ k& k9 B3 E: x
  591. LDA RELIFE_P1_DATA,X
    % s6 ?/ Z8 b. f) B
  592. CMP #CEND3 a7 H6 }$ h" {; \- j
  593. BEQ RELIFE_P1_START
    * x- D: G4 u9 `  X/ p  Z6 m1 W* w9 U- y
  594. STA $0705,X. \! A! [) ^! _! O
  595. INX2 R( I- O6 ^/ w0 F- b, _
  596. LDA #$00
    8 U/ W% T6 N9 v! w/ H) l% K
  597. BEQ RELIFE_P1_W  B, e; z. h/ H9 J5 |7 [
  598. RELIFE_P1_START:
    0 s7 b; ]. f, t: @9 g
  599. JSR PPU_START7 y; t; m3 W2 N$ ]; _
  600. RTS
    " T/ [8 k: C4 X
  601. 6 S3 s) i0 i  |( W

  602. ) P3 X9 ~6 v3 D- s
  603. RELIFE_NUMBER_P1_ADDR:
    - [) R$ a3 v# c5 U8 B9 ^
  604. .BYTE $20,$EA% Q0 U! e9 [$ q- r  a
  605. RELIFE_NUMBER_P1_PPU:
    ' p+ `9 e* c/ L' j2 d1 X. r
  606. LDX #$00  X3 k- [: [- z. X' Q' I9 r
  607. LDA RELIFE_NUMBER_P1_ADDR7 K* R% X6 J# ?/ \0 W# m4 a" S
  608. STA $0703
    # N9 r3 {  D2 J# G  G; _3 _
  609. INX6 ]9 \3 C7 q( E4 @% j  J' h
  610. LDA RELIFE_NUMBER_P1_ADDR,X3 R( s2 b/ g6 h+ ~
  611. STA $0704: w4 q/ K" H  P! D8 L
  612. JSR PPU_PROCESS( [, O# J! t% }  x( [
  613. LDA $321 r; l7 v; V( b/ s; K8 M0 x
  614. JSR LIFETODEC
    + b! V) w0 O' }  }7 G* A
  615. RELIFE_NUMBER_P1_W:
    % c1 W9 l8 U+ Z* ~
  616. LDA $7A03, g- A) b& z1 n: i
  617. STA $0705
    1 y% E; U' c1 h+ m7 _
  618. INC $0705- H% p% _% [1 ^+ R& T# a# p! t
  619. LDA $7A04
    ' I8 h3 B) [/ D. V- y
  620. STA $07068 ^5 ?0 y/ d7 X) Z
  621. INC $0706/ {) _* b1 [: p
  622. LDA $7A05
    2 [% W; n7 r2 M. d1 g# J8 l$ B/ Y3 l
  623. STA $0707* V/ F! Z! ~9 S0 n; F1 h) Y* o0 x
  624. INC $0707
    7 J/ |# c' O( G5 Y; j& A. p
  625. LDX #$03
    / `6 \8 P/ M9 m8 ~; i
  626. RELIFE_NUMBER_P1_START:. e) u( ~9 ?/ }* P3 e, `8 u
  627. JSR PPU_START
    , T$ c; K' M: p5 N
  628. RTS& J! b  i5 |% x) i$ L( I: S1 r6 y+ \

  629. ) C( E. j' e+ T- y: ~  o+ K
  630. WEAPON_P1_ADDR:+ u8 v3 L5 ]1 P7 w2 I, _  i4 I" k
  631. .BYTE $21,$239 T8 }' F. A; t: s- i" ^
  632. WEAPON_P1_DATA:5 n3 Y0 U* k" b8 ]4 Y4 ~
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND& j' G" g9 _" _1 S- e/ z! [
  634. WEAPON_P1_PPU:! C7 w: m" f7 m$ N& V$ {$ _
  635. LDX #$00
    5 C% y" A- K) J) i3 }# k3 C/ O2 U
  636. LDA WEAPON_P1_ADDR
    : L: S* Y) o& W7 U; _: f
  637. STA $0703
    - w6 }5 K$ [0 T7 G- i: p$ Q# a- F0 t
  638. INX
    ( o$ }5 j6 E/ x* U  e; O9 r
  639. LDA WEAPON_P1_ADDR,X5 d- C3 j3 E9 e& ~3 X
  640. STA $0704
    * _& ?/ u" Y; A7 e/ Y7 z4 B& `
  641. JSR PPU_PROCESS
    4 i4 y* U2 D) e4 x. C. n2 `  {
  642. WEAPON_P1_W:2 H* l$ g+ u0 U% [3 a/ {
  643. LDA WEAPON_P1_DATA,X7 d: _- d' j' [8 H+ c( M
  644. CMP #CEND" k0 H0 g. T$ S4 ^0 ?
  645. BEQ WEAPON_P1_START
    3 T1 d: T3 \1 s- i, Q/ p9 s, Q. |# W
  646. STA $0705,X8 }9 W( Y: s8 D
  647. INX3 F+ g" i. u, A, u3 @/ w
  648. LDA #$00
    + t9 q$ H- ?: T
  649. BEQ WEAPON_P1_W
    . c$ s7 k; N1 _
  650. WEAPON_P1_START:/ v7 [: M5 J6 s9 D( B" h% N- a! x
  651. JSR PPU_START# C  }9 h+ Z. Q
  652. RTS; e' [: ~8 j) |

  653. ( b# o5 [2 I2 {( O' O6 E+ X
  654. BULLET_P1_ADDR:2 _/ y/ Z6 Y* W
  655. .BYTE $21,$2A- o. a, m9 n/ L" W7 q4 f* m# }
  656. BULLET_P1_DATA:  X2 [7 h- P+ }  F4 o
  657. .BYTE $00,$01,$02,$03,$04
    2 @4 j, V( V) @
  658. BULLET_P1_NAME:
    5 r  g$ h# B% D( a1 \; p2 C
  659. .BYTE CN,CM,CF,CS,CL
    4 K/ P/ C# t3 n/ z$ Q
  660. + v8 [& O6 e) n7 q3 y2 S" D3 w7 U
  661. BULLETPPU_P1_PPU:
    7 _" J' p5 J4 B' E; u* m4 L  K; A
  662. LDX #$00$ u0 @" m' }- o/ @( ]
  663. LDA BULLET_P1_ADDR
    , r% |' c$ _; Y# r( m  J* ]
  664. STA $0703
    2 |. V1 T' ]5 O3 ?* A
  665. INX- f8 |: M% T* S. P, I# _1 J
  666. LDA BULLET_P1_ADDR,X
    2 h# R' i6 W, I/ G2 K5 [- j
  667. STA $0704
    3 i' F! z3 @/ K# j) C
  668. JSR PPU_PROCESS
    0 |: h# B2 r* Y" @) t4 p+ h; R
  669. BULLET_P1_WRITE:3 ?  h/ ~! E/ i/ b0 z
  670. LDX #$00; Y! s  I" L/ y5 O8 \1 E
  671. LDA $AA! c& D" T7 a+ B( c; M- U, p
  672. AND #$10
      h* B- s' S6 r: e( p+ f4 \
  673. BEQ C_BULLET_P12 @! v' S  i/ b7 s' [3 _
  674. LDA #CS" ^4 E  t5 K4 D5 Z. \1 B0 t
  675. STA $0705  D; r3 g- S4 }( d
  676. BNE B_NAME_P1
      J  r& i. N1 u; r) }  \+ M% z! o
  677. C_BULLET_P1:1 F$ ?1 M$ |' V4 A4 j& b7 _
  678. LDA #CC5 m5 k9 g) m2 H# i6 F7 i) I5 |- Q, h
  679. STA $07052 s$ x+ ?& t# ?+ X- A
  680. B_NAME_P1:# Q/ K( l" d: A6 t, k  V
  681. LDA $AA
    . E  x6 g) y: ^
  682. AND #$0F5 c* z' Q# _5 Z/ e- D
  683. CMP BULLET_P1_DATA,X
    ' r! H% _' D- C+ @0 x
  684. BNE B_NAME_P1_RECMP" q" ?' C- o! j$ k) k
  685. LDA BULLET_P1_NAME,X
    8 W0 l- ?! C1 c0 F2 [
  686. STA $0706/ C) S4 J- X0 O& d
  687. B_NAME_P1_RECMP
    ( V0 \9 Z* M- k* n( p* O
  688. INX
    # f9 m% S/ q: ]6 L
  689. CPX #$055 G( \3 d( p+ ^, e/ D. |
  690. BCC B_NAME_P14 L3 [# T8 v. ~6 d0 A) J
  691. LDX #$021 ?- y) g* M# V( q2 G! L6 Y& `
  692. JSR PPU_START0 W8 M! I, `. k' t0 o4 E/ {. |
  693. RTS. `. N2 Q4 J4 N% J4 w* ~2 K
  694. ' P% K# |0 q/ n: t- D3 L9 e* `; N

  695. 4 `" b+ z% b) H7 o8 p
  696. PLAYER_02_ADDR:0 d- C6 X1 _+ o; V/ Q! e- E8 X+ t
  697. .BYTE $20,$B3
    3 u2 i2 C! v' `; }# b8 y7 [1 L) y
  698. PLAYER_02_DATA:
    % x/ _8 \5 S" m0 K  L! @5 }0 G0 k
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND/ c" w% i' k5 N. ?5 S
  700. PLAYER_02_PPU:
    # q5 D% h  `/ X7 w
  701. LDX #$00
      N) `: N3 u: \
  702. LDA PLAYER_02_ADDR( s7 l! [0 D2 D" r5 ~- D
  703. STA $0703( c) i2 ^( S# ?( a4 Z: H/ E, w+ R
  704. INX
      c' O9 p2 p; J8 J9 Y; J
  705. LDA PLAYER_02_ADDR,X9 @; a! E% f+ r3 ]- p3 P
  706. STA $07042 C4 j( P" r7 S
  707. JSR PPU_PROCESS4 Z& M# G" Y' S' _0 j) m
  708. PLAYER_02_W:3 u& |! ?% d& v& G
  709. LDA PLAYER_02_DATA,X4 J3 E0 Q) \- z# K; i/ Q
  710. CMP #CEND* H( H+ K  V/ q5 O' c, S5 z, w
  711. BEQ PLAYER_02_START7 g* K. K! W3 k5 |
  712. STA $0705,X
    / m* c5 ~7 b9 ^8 ~
  713. INX% g7 @1 J6 T1 W  Z, O; L1 a6 [
  714. LDA #$00  ]: l9 q: s2 E) j/ W( q
  715. BEQ PLAYER_02_W0 `( ]# s7 ~" V0 t3 k( r1 J
  716. PLAYER_02_START:
    " k$ L! a. C" E6 h' |
  717. JSR PPU_START  I3 y% U" m0 A  C4 e6 L
  718. RTS3 Y# m, k$ d, H7 l; ~- i% }( B
  719. # |4 q4 w0 K. n4 F9 [& v7 l

  720. ! Z6 O4 Q3 V$ @7 h. c
  721. RELIFE_P2_ADDR:- z; H. f" v# e
  722. .BYTE $20,$F3
    ! k! J" n( K9 g8 T8 {& Z$ ^
  723. RELIFE_P2_DATA:
    ( G6 G; E4 d3 ]# x1 J
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND: G# X2 c% s& D! ^
  725. RELIFE_P2_PPU:  Z4 t# N* |4 n2 J. X
  726. LDX #$00
    8 i7 I2 T1 P5 r: ?" H1 O
  727. LDA RELIFE_P2_ADDR
    ) N  M+ E% a7 N
  728. STA $0703
    $ ]9 i5 c; L1 r  e1 s& S+ ?
  729. INX* K  M0 w5 e4 V/ e
  730. LDA RELIFE_P2_ADDR,X
    - Y* V* V3 e6 w
  731. STA $0704  A' y5 x; e: X$ L2 V" Z" ~
  732. JSR PPU_PROCESS# i% z) @; _/ M' P
  733. RELIFE_P2_W:( p* I6 }  X- j0 ]8 L
  734. LDA RELIFE_P2_DATA,X
    / X  H+ r8 N# `* N) c# @4 m) b6 q' c
  735. CMP #CEND. \: ?2 a4 h- d7 [- [  O
  736. BEQ RELIFE_P2_START
    : J2 O( O" d( @: f0 G/ {% M' r
  737. STA $0705,X
    8 |; B/ h/ z- D) F& N! e: @
  738. INX6 z' q. x) m% Q" F7 q" r& ~# ?' w
  739. LDA #$00
    ) _- h( J% @4 u4 {
  740. BEQ RELIFE_P2_W4 |+ A" V5 e: I! v. f3 t: @  g3 z
  741. RELIFE_P2_START:: N/ h, G6 F& e- z& p: Q; W. g
  742. JSR PPU_START' d5 ?9 U$ q# h; K
  743. RTS
    , g* \: {" @8 j2 L  i, F

  744. ( f3 r$ C& H6 m$ _$ A7 n, m
  745. ) m, C  i1 R/ @0 B, g& S0 C
  746. RELIFE_NUMBER_P2_ADDR:
    - N' }# _! D6 C8 n
  747. .BYTE $20,$FA$ ~1 [. V6 {( u
  748. RELIFE_NUMBER_P2_PPU:7 y7 ~% d( `4 L3 F: c0 }2 r3 Y& G
  749. LDX #$000 N, M6 {& j! W% K& P- l6 p8 |0 F
  750. LDA RELIFE_NUMBER_P2_ADDR
    / K  ^0 k7 c& L3 g: i4 w2 A
  751. STA $0703; E8 p+ ^  |8 r) {# _- e
  752. INX
    / Y: f% b3 \! J/ g/ _; {8 L0 y
  753. LDA RELIFE_NUMBER_P2_ADDR,X2 b6 x7 ]: _2 g8 y8 |; J
  754. STA $0704" F& ~' V! j, @7 q/ y1 }4 F$ L3 S% q1 @
  755. JSR PPU_PROCESS, p" r0 T$ O! R4 D! P
  756. LDA $33- N% H! N: j4 Q9 B$ U1 M
  757. JSR LIFETODEC
    + `& i. ?" I( E7 {! B
  758. RELIFE_NUMBER_P2_W:
    . H  _; i9 g5 W' E2 G5 b& [
  759. LDA $7A03& [7 I2 E, g2 f2 a, Y2 |/ y
  760. STA $0705
    % R5 a+ \0 e3 k( |( w
  761. INC $07053 ^$ l; F! N) A
  762. LDA $7A04
    ' a7 ?+ i! ?7 u) b) {( Q9 L
  763. STA $0706
    0 ~; e+ E0 m& `. l
  764. INC $0706
    4 Z) M( X* l3 k: h; U% ?- M
  765. LDA $7A05
    ' `7 Y& T3 t& ^3 D& m/ ~, D, n
  766. STA $0707" @& I0 Y9 v6 T0 W' p
  767. INC $0707! R3 e: C1 h! v5 Y" ]; A
  768. LDX #$03) V6 m, ]" D9 i4 d/ F0 c$ [/ G9 a& @
  769. RELIFE_NUMBER_P2_START:
    1 h% H: h  R; q3 d$ A+ E. u
  770. JSR PPU_START
    / U8 e: m6 T, a6 S- e2 ]
  771. RTS
    ; p  o% ?' z2 \- v* x% ~9 S

  772. ! `3 h) `; H+ c+ a8 K8 _
  773. WEAPON_P2_ADDR:! ?" K; {+ w! h7 J9 a& l
  774. .BYTE $21,$33
    2 L* k5 K# G, t+ c# ^* C5 Z9 X3 M) r
  775. WEAPON_P2_DATA:' j6 |/ r! P/ _, N+ R7 L
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND
    % p$ [# w9 g1 b$ G! `
  777. WEAPON_P2_PPU:
    7 n' D* F/ F! j" V9 d' o$ o
  778. LDX #$00
    0 n7 k* o8 k0 g  o( j
  779. LDA WEAPON_P2_ADDR2 [- w# Z7 `3 J' m
  780. STA $0703$ v) u* N9 D* @5 ?, x* \7 o
  781. INX
    " f$ V& k# B9 P
  782. LDA WEAPON_P2_ADDR,X- _" P& {: ~& L) N3 V" Q0 {1 S  n
  783. STA $0704
    . @5 I7 I+ P8 Q0 S
  784. JSR PPU_PROCESS8 p! ~, B- p, K
  785. WEAPON_P2_W:
    + t$ ?3 d3 ^$ k
  786. LDA WEAPON_P2_DATA,X% p) d. J6 ]% Y# R
  787. CMP #CEND( k+ w1 l& k8 d" q$ v0 E
  788. BEQ WEAPON_P2_START
    1 J" b  P( N7 M; I# z6 s" n
  789. STA $0705,X
    $ l  p3 d" c! G; V$ [, f1 x8 j
  790. INX- Z/ }4 C+ s9 n
  791. LDA #$00
    # v  P5 W; K5 S/ i0 [
  792. BEQ WEAPON_P2_W
    ( v% ^! \, w/ A+ O: s; ?
  793. WEAPON_P2_START:
    5 u9 p: x) A5 A7 C0 b( c: @! S
  794. JSR PPU_START. P! J1 Z, k5 \# j% S$ s
  795. RTS
    + ?: Z' f$ n# G) _1 w" C
  796. & v2 J0 e% f2 |
  797. BULLET_P2_ADDR:7 ]9 r1 J0 Q* Z2 z; g2 o. B4 x! v. I
  798. .BYTE $21,$3A
    / d0 [8 h) L4 e
  799. BULLET_P2_DATA:
    * R; ?  m$ a+ V9 y& f1 d
  800. .BYTE $00,$01,$02,$03,$042 j4 a( D7 R5 @, H0 N
  801. BULLET_P2_NAME:9 h  x3 n# q( i' @% V* a3 z
  802. .BYTE CN,CM,CF,CS,CL7 s* z, Q) i' H6 Z: l$ p
  803. ! G8 H  j. M' j  a
  804. BULLETPPU_P2_PPU:& F5 P+ x0 \3 ?0 k+ r
  805. LDX #$00
    8 Z, \0 c( F. ?) L
  806. LDA BULLET_P2_ADDR
    . W, d6 A' h6 Q  {  N
  807. STA $0703
    # ]2 z3 W& C% V5 }- f! Z
  808. INX
    " J- {  u" @% s6 t! V
  809. LDA BULLET_P2_ADDR,X. D% H# D- h) |% v
  810. STA $0704; }3 _# h5 y& d* n' E6 X! V
  811. JSR PPU_PROCESS
    & n1 v: P, D: O  ?. j
  812. BULLET_P2_WRITE:; }7 ]& q- d1 F9 W5 C( y- x6 ]# D; H
  813. LDX #$00
    " _/ p- {: `2 [3 K. L
  814. LDA $AA5 w; l6 c; X; P- R! p" `
  815. AND #$10& q3 C; W& W: u2 Q, G
  816. BEQ C_BULLET_P2
    ' v1 C/ C, ]' n  Q# E# P6 G
  817. LDA #CS, w( X# X& s" R; |& J
  818. STA $0705
    ' m* S+ z# H: K# Z/ E( Y! f; ~- e+ L
  819. BNE B_NAME_P2
    $ A( H' s: x* L
  820. C_BULLET_P2:
    , ?8 n3 F, S( R5 r
  821. LDA #CC
    , p  n# B/ ~2 P9 {7 h# y
  822. STA $0705
    & i% H; w% Q+ x4 r: o$ |0 S5 d
  823. B_NAME_P2:( |% N- @3 q# ^1 g
  824. LDA $AB
    % ?% h5 Y3 e4 T7 }- s
  825. AND #$0F7 f& f4 H6 T* f: b6 L1 ^% |( G% c
  826. CMP BULLET_P2_DATA,X
    ' ?; J: [) B; S) n% c( j
  827. BNE B_NAME_P2_RECMP
      h/ _. r% }4 F( @5 b8 ^& m
  828. LDA BULLET_P2_NAME,X
    ; t3 c/ M$ b* }9 I* \
  829. STA $07069 c2 Z/ P: y* b( H
  830. B_NAME_P2_RECMP& s/ X0 n/ I8 Q
  831. INX
    2 q( k3 E0 e, n- t* @; B( f
  832. CPX #$05
    7 G' o: u) @$ _# }7 b( V' E" e2 T
  833. BCC B_NAME_P2
    ; k4 L1 n3 ~# d/ n0 d% F% D
  834. LDX #$02
    ( R7 d# U! _( l+ k5 |
  835. JSR PPU_START
    * b9 l1 d, g/ I9 |
  836. RTS
    2 \! x0 D0 l; s; Q* Y8 ^& ~9 w
  837. ; b4 K* J4 y- b  ]% `

  838. 0 ~1 ^, t6 G7 U4 \% f$ o

  839. % A% t0 S# a! y2 b
  840.   U. B/ {7 _4 j( [; y- [, ^& e
  841. $ b, q( {- z7 h% T/ b
  842. : {% x. |0 [( j, d( r( S
  843. LIFETODEC:                ;十进制转换# R$ E1 t0 \2 G  t* Y
  844. LIFEL1:        ;initialise
    ) ~. B/ m0 J2 p! X! ^
  845. STA $7A00        ;$7A00=F3
    ) l' n/ a# D" j$ ^3 X
  846. LDA #$00
    ( J5 O/ R  b4 J7 A2 Y
  847. STA $7A03        ;$7A03=00- Y5 r) \) @5 ?. y
  848. STA $7A04        ;$7A04=00
      ]% @5 d9 q& k4 J( A' c; @0 C
  849. STA $7A05        ;$7A05=00! K6 [, B% j- H1 p; U7 E) I% Q
  850. LIFEL2:        ;copy data $7A00 to 60016 Z5 n. G3 k6 m
  851. LDA $7A007 v2 Y; ~2 q+ }6 x  y9 P! U1 V
  852. STA $7A01
    6 [) o+ w! E) w/ L4 w% `

  853. ! z3 ~' g  @' o" i, @6 B
  854. LIFEL3:         ;hundred
    . \6 D8 A' m& a- l- X* _
  855. LDA $7A01% @+ z& s# A- `7 ?7 }8 `& @5 z- ~
  856. CMP #$64
    : ?  U  l% H- p( Z8 e5 o
  857. BCC LIFEL6                ;$7A01<100 goto L6
    1 x- t9 R2 r/ Q. {- Q8 u
  858. LIFEL4:
    $ p7 p" w# V9 y6 C+ R& C. F" U
  859. LDA $7A01
    & `- x9 p& b* J6 d- D- ?: ~
  860. SEC/ l6 w7 [  Q% l; T3 ^
  861. SBC #$64        ;$7A01=$7A01-100
    , f  T0 p2 d! P- j( C6 v" Z& Z* Y
  862. STA $7A01$ w. T# y, X2 z  M3 Z
  863. INC $7A03        ;hundred++5 m# v7 i- j- y4 F3 f" a: @
  864. LIFEL5:
    ; v. c* c! ~# M: V: j
  865. LDA $7A01
    # X; R2 B! K. H, r4 R
  866. CMP #$64! n8 m" N7 O  m
  867. BCS LIFEL4                ;$7A01>100 goto L41 s* i, w8 T- ], ]+ M2 N# I
  868. 9 O0 l) _5 n% o' I2 z6 U
  869. LIFEL6:        ;decade( l+ l) u/ ?$ p* e" o
  870. LDA $7A01) q$ `( g# \* n: p
  871. CMP #$0A: m; e0 `. R9 x" G) `. ~
  872. BCC LIFEL9                ;$7A01<10 goto L92 Q  X; u3 \" e; f6 @2 G  W
  873. LIFEL7:       
    " p- d& L: m: |, T8 P3 q# T( w
  874. LDA $7A01
    8 W+ w" L5 d$ y) W1 ^
  875. SEC2 X1 K8 {# X* D* m9 U
  876. SBC #$0A
    + W" {' m: ]3 T7 j. p" I* d9 e. {- u
  877. STA $7A01        ;$7A01=$7A01-10
    4 n: l* a) }0 Q+ m' o% L4 @
  878. INC $7A04        ;decade++8 Q' e* K" N+ g
  879. LIFEL8:
    $ Q0 g" n* O/ ^% d- t) [
  880. LDA $7A01" {/ L8 c* b! d* u0 |
  881. CMP #$0A
    0 }+ l. n. s9 R) W$ o- ]% M
  882. BCS LIFEL7                ;$7A01>10 goto L7
    , U$ D0 Z/ ]7 R5 c
  883. ;unit7 j; a" P' q; P4 N
  884. LIFEL9:
    ; D7 o. ], v8 ~
  885. LDA $7A01        ;$7A05=$7A01( F7 @' ]- B3 K
  886. STA $7A05        ;unit
    - w! {5 ?" X6 m" K% Y1 n# ~, I
  887. RTS        ;return
    ( c6 J+ I- f. D/ w4 Z
  888. ( d- r7 O4 e$ }6 `

  889. 0 Z. J/ g6 S" u% n

  890. 3 J3 B) i" v" i9 d9 B
  891. PPU_PROCESS: ;PPU地址处理程序! Z+ F1 L2 z) z  [5 b8 Q" f! Q
  892. LDX #$00. d4 b0 H) ^3 i3 [1 N; ]& ?. a
  893. LDA $FF) v  b6 q, J8 m9 `1 p& ^- g  h
  894. AND #$01
    $ m9 I$ `; ^6 F! K: j) P5 \
  895. BNE PPU_2400_27C04 Y1 s6 A' W, `! w. a
  896. PPU_2000_23C0: ;命名表1& B0 m) j0 Y; h* K) B$ F
  897. LDA $0703
    9 h# J& H( E2 o% A
  898. AND #$FB
    / [1 {; @( `# J, c
  899. STA $0703! q2 T" ^: v) N  O. G3 ~$ {* c
  900. RTS
    6 ]# H4 ~1 {/ c/ H& j' E
  901. PPU_2400_27C0: ;命名表25 Y* ]8 y( z, ^. u% A. F
  902. LDA $0703& M$ Z  u$ f4 g1 o% T
  903. ORA #$04
      M. Z) S! Q' @- [
  904. STA $0703, {# |& Q* \( o, @6 J: n. \
  905. RTS
    ( T! _/ V; i6 g/ A( W# q

  906. " X  A: _- e9 D, x7 g
  907. PPU_START:  ;PPU数据写入* }% _& I! r7 T' z9 t- B, A7 E. J
  908. STA $21
      v( ?6 V* i: J6 U
  909. STX $0701, o" c" |9 D8 R2 I; y( x
  910. LDA #$00/ p8 ]) W' E" y# X1 T% i5 P4 o
  911. STA $0705,X. j2 D! \1 a9 Q0 i/ o0 l% p% ^  M
  912. LDA #$01
    5 T& x4 Z4 R2 o; o+ t8 t' f
  913. STA $0700: G+ p5 R" }/ k6 W/ [
  914. STA $0702
    1 e0 z# D3 k; E7 E
  915. RTS
    - A& |9 ^) _: k# r! c! r) R) r
  916. ; v) R; J( P7 C9 e0 V; F2 h

  917. : J3 I6 o- ~( P# ]2 e0 s

  918. - x, d( f9 l2 |- M  X( U

  919. ; v0 p2 @# }% }2 |9 L
  920. 6 \( R+ z4 j  X7 S! K9 @" A2 N

  921. 0 H  B( x- e8 A2 O0 ~) T$ V- ?
复制代码
3 A4 x" m# Q5 O1 [% F+ Y: Y

本帖子中包含更多资源

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

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

签到天数: 2336 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!* y" [* Z5 N. j# j8 T' r

签到天数: 2578 天

[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-10-30 13:32 , Processed in 1.074219 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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