设为首页收藏本站

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序3 r. U- K) K  Q' Z: f; w! S
  2. 作者:FlameCyclone
    2 B* a- t; q* A5 M7 P5 e2 T
  3. 时间:2017.2.122 I/ w# Q0 r! q& E
  4. # x) s3 ~) W# z! y- p" S5 [  _' U+ [
  5. 按键跳转:/ r9 |6 W% u5 D$ e( u! p+ X
  6.         C1EF:95 F5 94 F1% N' ?$ I7 @1 x- P9 B7 o
  7.         C1EF:20 70 FB EA6 Z- J6 t( N* D0 s; X
  8. ! F. I2 p! B, \  J3 Y' z
  9. 滚动偏移:
    4 l; Y4 {  z9 X' l& J! O9 ]
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20
    ( L% S" P9 K9 b" ]0 W5 v
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    # N$ p; ~. c& ?( v& z- I
  12. 8 ^; ?7 F* x. g2 c8 Q- x5 ]
  13. 背景调色板:4 {9 {4 `2 ~" t0 u2 t; z5 N/ U
  14.         CF20:9D C0 07
    9 c# T! {' E: j1 z/ X0 s- J; i
  15.         CF20:20 A0 FB7 m1 ]; T: x3 `. Z- x, @: |
  16. + ], s. p* I, |5 C; ?) w; n$ M& l
  17. PPU BANK号:8 u* {) W; A  m% J
  18.         C8C9:9D F4 07% I. h; q8 D: b8 ~' M
  19.         C8C9:20 B0 FB
    4 a- B1 B+ I$ J  w- H

  20. . h: a$ {" L: a( l
  21. 按键跳转:2 G! i( k4 \, i8 }% P) M
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20; k. T2 b3 G) t9 p: e) Y; F  W2 e
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20) W5 L: u, I( p+ O) b' e# ^
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF$ J1 P) y) V# m$ V: s( q

  25. ' w0 Z/ X. O: E- v* _$ T$ {
  26. 背景调色板:
    ) j4 Q0 x5 g; Y; m
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF
    + x8 L( o9 `' }. d  a0 p
  28. ; I9 T6 I! w( T8 A" t8 L, w" G, v5 [
  29. PPU BANK号:4 O; @8 z7 X0 N
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF/ G) J! \2 w% E- c1 N, G) d
  31. 5 |$ R3 f9 j" c8 D2 K, ]
  32. 滚动偏移:( F+ J. w  N+ k: g* P' u& I
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60: [7 A. @$ A( S' {1 ]! q. E2 R
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    5 W6 w& ^+ A3 }) d

  35. ' ]) N# a5 ^  v5 u
  36. 7 X3 J- q% X+ ~
  37. 切BANK后A000:
    ) j" N/ O; V" k7 t+ m8 J
  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& ^4 c. u: R* O) R7 Z
  39. ; T* H6 m; M+ `8 L0 D8 m

  40. 7 V4 I4 U7 H9 c6 k0 g
  41. 6502 simulator:
    ! w3 s; d/ B/ ~; U
  42. PPU写入程序:
    4 w: s' ^/ m. U2 ~* m5 o  }7 T
  43. .ORG $A000+ j8 w& a& J& }- R
  44. CSP = $80
    " g, L" M3 ]1 w6 c4 C% L9 J, k- P
  45. C0 = $81- r; g- T- N% D. K# V" c' X
  46. C1 = $82
    6 B5 g- B# k& P- W) X1 z2 H5 I
  47. C2 = $83/ y# t. p+ o4 o/ E& }/ o2 n( E
  48. C3 = $84
    & o9 X8 J* V* ]9 W2 h) U
  49. C4 = $859 z7 d. K! l7 L$ m5 J% B1 B% v
  50. C5 = $86* w7 \# Y7 S# f" y- K* x
  51. C6 = $87
    1 R  e  u  \# p
  52. C7 = $888 t' D& q, w2 K, M8 \* H
  53. C8 = $89
    . A' ?6 q# ?8 e, Q* Y0 w
  54. C9 = $8A
    0 `7 `9 _! m$ f, q; Z! y. v' r
  55. CA = $8B
    1 P+ S" X6 T; r4 B9 m
  56. CB = $8C
    - O$ f. l& x  T% Z# v# B9 l2 M8 R
  57. CC = $8D
    * ]& Q  X. a' \( Q+ d" P, {$ D* P
  58. CD = $8E# Q9 p. L" a; O3 Q0 q0 A. R
  59. CE = $8F5 \. M$ `& r$ K% c
  60. CF = $90
    ; ?% C. N  H  U2 q
  61. CG = $913 Q( h3 a# h; ?9 j
  62. CH = $922 h8 h8 b/ ?& t4 u3 P) U+ c" Z
  63. CI = $93
    # q: s5 i: A/ Z' z! }, F
  64. CJ = $943 }7 H3 W, h8 d$ h9 O/ Z8 c4 p
  65. CK = $95
    + X/ b" D. M# @/ q& p
  66. CL = $96/ ~4 J* k, z3 E& h9 Y% a
  67. CM = $979 [& d/ _, }% C* ^& v* p' u
  68. CN = $984 \& I5 V: _: N, b  p. r
  69. CO = $99% d& Y5 Y: f5 T6 j/ c7 ]+ S& w
  70. CP = $9A7 f1 c# r! ^6 r5 S
  71. CQ = $9B
    ' L, p3 g" V6 N  T/ U3 B
  72. CR = $9C4 d8 ?8 w* c  L' s. F. J( ^( F
  73. CS = $9D& N/ l9 n9 B9 n4 m2 }
  74. CT = $9E4 C. g6 X& D. {! w) j( h( ]" [
  75. CU = $9F- s$ P$ W4 X/ W) I
  76. CV = $A0
    , P, r8 H9 k9 X, a" |- L  p" i
  77. CW = $A1+ ?+ x! q$ I( D" j" p( E
  78. CX = $A2
    . g; p7 O: J# R% q8 z% N9 K
  79. CY = $A3
    5 ~) U! {) [2 ^  i; F; f* l9 V
  80. CZ = $A4
    8 e2 B8 h/ K+ K- T) Y$ R7 @4 r
  81. CEND = $FF' t5 H% w1 \/ n3 V7 h9 j: Z+ ~* e
  82. 3 K; p$ Y2 j% q

  83. ' O. j  F$ w. G1 a) S9 `
  84. CMP_RE:
    , t' u9 X/ t3 K- y& H% V
  85. LDA $FF5 `2 A2 M' w( c
  86. AND #$7F
    5 W5 z# \7 `' z* y- _
  87. STA $2000
    % A4 a3 s2 [" y; [5 r
  88. LDA $2002  @% n% F) M' A/ ^0 D
  89. LDA $25! m) {- q/ U1 E9 N2 d- [7 i
  90. CMP #$01
    4 y- O& X, \, [5 Q5 ?/ p
  91. BNE PROREG
    " R/ Z, m. u( M6 t5 F, n7 d
  92. LDA $F5,X
    + P9 i' ~6 F4 S1 y
  93. AND #$CF
    $ C/ b" J) p: l2 Q  u0 @  N+ |" v
  94. BEQ PROREG
    3 l9 c) [* R; }; R
  95. JSR PPU_CMP* y6 u& t7 e2 {/ B' |' B/ j  i
  96. C_RE:
    ; y* e8 C. o* }* h0 }; j
  97. RTS
    0 u% N5 W' R6 d6 K3 N
  98. PROREG:
    ( h! Y5 m$ R6 t+ v
  99. PHA! c0 x/ F+ o8 d5 U# \' K
  100. TXA5 @" B; L, ^+ E% w* a$ B: p, c6 F- k
  101. PHA
    9 U; r% ]) C. ^# M% G
  102. TYA
    ! r7 ^2 U) F' }8 l; i
  103. PHA' i# ^3 Z1 v: |
  104. LDA $25
    , t$ k9 Y# M1 Q  u! c
  105. CMP #$01' ], n& F: A  I
  106. BNE RE4 ?* R6 i& b; {  C4 h% Y
  107. LDA $010A* e8 A3 I% S; P, C) \2 \
  108. CMP #$00
    0 T& K% o9 z% f6 _* M0 ^
  109. BEQ P1& x5 ^% M$ R1 q2 s0 ~% v" }7 ^, O3 O- Y
  110. + E' I5 V0 K# ~6 K( ]+ w5 b$ T
  111. RE:9 I) |% ?% P7 I% D9 `
  112. JMP PPUWRITE
    0 r8 {; \) r0 ]4 a; e
  113. , z) a+ u9 ?8 `  e' h1 d$ W) W( C; T
  114. P1:                ; 条件判断* H' b8 |9 G0 ~4 W  H: Q
  115. LDA $7FFF
    ) t. n5 ]0 S' U6 u5 g2 c
  116. CMP #$FF( T7 T2 G9 z( c8 b$ Q
  117. BNE P1RP3 S, b( f3 h+ x' T9 o
  118. LDA $7FA0: U  M( P2 b3 x# e8 p( O# c4 c
  119. CMP #$00. c# U6 w& q! b# Y" }  P9 h
  120. BNE P1CMP
    : k: w: F7 m) l2 ?* v. Y
  121. LDA #$FF" S& D/ B' |" H- ]
  122. STA $7FA06 ^$ e+ s3 p  ~" e/ f; D* F
  123. JSR CLEANA
    ; P' W+ Q% B* V
  124. JMP PPUWRITE
    " t2 N% u1 R! O( o. q  D0 S: ^
  125. P1CMP:
    $ N$ R( }, i; J! f5 e2 n
  126. LDA $7FFF
    ! Y9 S/ U$ H9 d1 L* c! \6 j
  127. CMP #$008 B, n5 h% u! ]/ s
  128. BNE RE6 H: g' n; ~+ W8 w4 `/ p. I8 q/ R! l; Z
  129. P1RP:/ P: `) O( {0 I9 J
  130. LDA $2002
    . }/ a( f5 c  p) f
  131. LDA #$00) x# i4 {0 J; }, b5 Z
  132. STA $2001
    / b" z- _) w: B0 H: Y0 m+ P
  133. LDX #$00* }" v. f0 p+ k. d
  134. LDA #$FF
    7 s" R, i2 U) h2 Q/ F' d% }
  135. STA $7FFF
    ! ~8 [& u* r7 L/ V* D9 I8 `7 l
  136. STA $7FA0
    - F  N# J0 i/ \/ _9 g0 K; H+ f
  137. JSR COPYPPU! B; q9 Y0 q5 N
  138. PIRP2:
    7 r6 A. c6 N5 B% {/ u5 U2 I
  139. JSR CLEANA
    ! I7 z/ Q, t0 d1 P' T
  140. JMP PPUWRITE
    6 t7 r$ P' d! m
  141. ) Q1 @) q+ Q! i+ A% J
  142. COPYPPU:
    " @9 V& ^- m/ O$ e3 ~  Q
  143. LDA $FE
    7 P3 v/ x  W, z% @' ~' E' {
  144. STA $7F50+ Y, C' z3 |- {3 R# W; m
  145. LDA #$08
    . i1 v  R, q  h. y: P
  146. STA $FE
    / z% K' l9 l- u! @) E3 ]
  147. L0:4 V# }0 W2 g% j. x+ q
  148. LDX #$00$ `+ ?! W( o' ~; V5 ]" ]; a
  149. COPY_07C0_07DF:
    $ k, ~6 |) ]0 I$ w8 A8 g) M' M
  150. LDA $07C0,X/ d& U% D/ x$ c7 ~/ M4 E
  151. STA $7F00,X/ b; G- }# k$ F$ x% @. F# L  H3 s
  152. INX
    3 p! n$ ^. Y) l. d' _
  153. CPX #$40% G( T0 U1 v' W6 A2 ~
  154. BCC COPY_07C0_07DF
    8 G( H; N, m/ {
  155. LDX #$00$ `& p. W; M/ Y, F7 X# F0 |1 Z
  156. PPU_07F4_07F7:' y4 G7 e4 m& h1 B! y) |/ U
  157. LDA #$00, t' l- [$ i9 E3 p
  158. STA $07F4,X
    7 I2 m/ u$ Q8 f
  159. INX& g/ I0 h3 }2 \: Y5 j) N
  160. CPX #$04" i0 f: p8 w& V- B/ N
  161. BCC PPU_07F4_07F70 p) I9 V+ _  P% \& u& z4 Y: b
  162. LDX #$00  B! v$ s3 E+ q/ O" Y5 I7 J
  163. COLOR:# Q9 W5 \. X0 D9 U: B' P7 E
  164. LDA COLOR_DATA,X
    4 ?" o& y" M; w! U$ Q0 @' y, V( a
  165. STA $07C0,X/ T+ f! H0 o4 r7 j
  166. INX4 x% v9 `/ O6 h* ~4 @: w$ e
  167. CPX #$10- V& ^1 f7 o4 [6 d; F  r. s
  168. BCC COLOR( D9 m0 n. Y8 W, \0 j! @

  169. * m4 H% _& z: C
  170. PPU_COLOR:5 M0 U7 w5 f, u% Z" w+ u
  171. LDA #$3F& N' M* `( e5 z8 [1 D2 d! k
  172. STA $2006
    $ P. y. r- m6 c1 P$ R! Z' x( A
  173. LDA #$00+ t- R- i4 @; B. b
  174. STA $2006
    0 K# _' K9 D- s* m/ G3 ^1 T  g3 W
  175. LDX #$00
    + ~0 M8 [( I  M' u
  176. PPU_COLOR_W:! [, {7 V2 e  ?& j
  177. LDA COLOR_DATA,X" I, j4 B) F2 V2 G( j6 W8 H
  178. STA $2007  x! r2 T5 D) J: k/ n
  179. INX
    , D; }7 z$ J4 v4 I" y" R
  180. CPX #$10
    # Z7 Q1 q1 a* J" h# Q
  181. BCC PPU_COLOR_W
    : U0 @, b  r7 e0 H1 j

  182. + {6 K+ i( {0 k
  183. % e" E; V: p, ~
  184. LDX #$00
    ; e0 S0 d, J" `* {2 ?4 ]
  185. LDY #$00
    4 ~1 A* {' _8 w0 r0 E* w6 {
  186. LDA $BD
    9 h  S- T2 `) K" H5 y% q  k: k/ c
  187. PHA, e# t4 |5 y6 ~! S) U" ?+ W
  188. LDA $BC3 A- C/ C! \+ \+ h* p
  189. PHA
    4 V- t# r0 E1 Z$ R
  190. LDA $BB+ {& a/ ^" Q8 m3 l' m1 ]
  191. PHA
    + A9 q; ~" X" B# v6 n1 E( r
  192. LDA $BA
    ! j: ^  p; E6 h1 C& Z
  193. PHA
    1 X: k( M5 c# y
  194. LDA $B95 F- Y' R( @/ ~' |' S3 I
  195. PHA
    ) i1 U+ T" p7 `, }: c: H" W
  196. LDA $B8: [5 k2 E* {. Y/ X) z) R
  197. PHA: y0 [* |6 v) e# V
  198. LDA #$00
    . p3 W" K# h+ ?! D) t1 e
  199. STA $B8
    4 o& y6 c3 e5 k4 k1 J8 p
  200. STA $B9
    ) `9 n7 P& w8 A" J/ m
  201. STA $BA) L( S& g' Y- G8 G1 G
  202. STA $BB
    ) M: |7 c$ w& _4 N3 u6 h( f' @# Y8 m- z
  203. STA $BC
    ( S$ c0 B% u4 [: C; r& _( Y" j
  204. STA $BD( c( [$ ^. ?# n1 \0 r. E& J4 `. u
  205. LDA #$00" x% x/ ~0 O  W- Y% b* a) o
  206. STA $BA9 [8 K- l8 T- o) `2 s# z
  207. LDA #$20. S; x1 U4 b  o8 E
  208. STA $BB' x* ~7 S9 |9 c& G! ?. j- N% b
  209. LDA #$00
    , h+ j0 _8 u& y/ ?3 G% p4 `( C7 N
  210. STA $BC
    / Y) o4 d  N; A5 ^4 v5 k; f
  211. LDA #$60
    2 l/ j" o* @2 Z, o8 P/ k
  212. STA $BD2 L2 T6 F& @7 u# K( i

  213. 7 X' E/ o: d" k
  214. L1:                ; PPU复制
    9 i! i7 J5 E/ X) Y4 l- V1 B
  215. LDA $BB( G$ D! m" W4 G  U
  216. CMP #$28, V& }9 W2 I; V! J
  217. BNE L2  i6 P% x4 a; e1 j% t7 Y
  218. LDA $BA* H' w# ?  |. ?0 K
  219. CMP #$00/ w- C9 D2 Z0 V# R4 Y+ i# G0 [7 S
  220. BEQ PROADPLA
    + ^* A* |4 l4 @

  221. & Z% Z: i+ g- n! E0 b
  222. L2:2 O" V2 G& o* {2 S# t! W0 V' ]& g
  223. LDA $BB
    9 ~: j# ^/ x3 K# G0 ?$ t8 e- K
  224. STA $2006% }7 h0 |+ O! G% k" f  V4 S( q) h
  225. LDA $BA) k; v4 d  `1 l1 N( @
  226. STA $2006; E6 {8 L# }4 n% a: b8 t% u. {

  227. & M% v5 [0 @, ?/ N) t( ~/ s
  228. L3:
    & K$ D8 r& [+ y  W
  229. LDA $20072 b; _& H/ c% w* ?. ?. G. E1 [
  230. LDA $2007+ `  U' t3 x1 ?1 k" y3 I  O
  231. STA ($BC),Y2 r' X+ n( r4 t$ L
  232. & {; I, |% `8 r6 |. r7 {9 h
  233. L4:: P. m! k: @$ N+ K( L$ L, J
  234. LDA #$00
    * W. G  ?9 t  f7 p1 O
  235. STA $20003 \$ y, j, U' p; D- h" x& @. G
  236. INX! _  X) |* j6 c5 W2 G4 j: X
  237. INC $BA8 ?3 u5 f5 J; ?0 M! x* X
  238. INC $BC: d; f; W3 u: e. J
  239. CPX #$00
    ( Z8 d0 H# L$ q2 a  Y9 D% x& L) ?
  240. BNE L1: v) {6 V) u3 \/ |' k# d
  241. INC $BB  V9 `2 A) }; w% ?) N
  242. INC $BD# e" i- L0 I9 u; ?; v
  243. JMP L16 J* _" x1 `/ o  A' c+ T$ W$ t# s
  244. . r# b* r. v4 d0 m; Z
  245. PROADPLA:                ;出栈
    6 T/ a  U& s7 m. O
  246. PLA5 _2 C- ?2 H' R" @$ R' I: s
  247. STA $B8. l! @) w' [$ M' a
  248. PLA* x7 D) Q6 K- ~8 h* \9 K, b
  249. STA $B98 O* F) m3 R5 ?7 r
  250. PLA; d7 q6 _% f  S9 m/ b
  251. STA $BA8 Z3 f5 u% E: K5 R9 j( S
  252. PLA
    & p* |# ?7 x! I! ^8 [# ^# s3 t: {, t
  253. STA $BB9 E- [- D: p3 S, C0 R
  254. PLA
    - P  a0 g3 s1 N
  255. STA $BC. ]8 b& J: X& L* B8 H$ o
  256. PLA
    & s1 U* z- I' F# ]
  257. STA $BD/ G2 _; L$ j) E' B5 {9 a
  258. CPRE:
    : C" X* y1 A$ F+ F$ ?# y
  259. RTS
    ) u% l; i6 k, a% h/ ^+ u, {

  260. + A- _$ S9 [" a: r9 ^7 ~& |
  261. CLEANA:                ; PPU清空( `' v0 R* }8 D; F3 T$ n
  262. LDA $BD7 \% ?% \2 L% k( G
  263. PHA
    2 C; p, Q% s! a7 F" x, T
  264. LDA $BC
    - P+ G4 U/ _. n- j- v
  265. PHA' P  i( |9 V8 B
  266. LDA $BB
    2 _5 e7 P5 E+ i5 Q3 }4 M) E  b
  267. PHA4 W1 a! S/ {- N1 H
  268. LDA $BA& J/ D2 a2 N8 L  o0 W
  269. PHA
    8 w" J  g# R. Y5 X$ f+ p. L6 D
  270. LDA $B9
    + Q9 M# ^6 I6 o! J! c
  271. PHA6 r: {1 X4 {0 H$ _2 E' R
  272. LDA $B8* j7 U! N* q2 }& k7 c, L
  273. PHA+ w  o' i& E5 L2 b. `! f& w+ L3 }
  274. LDA #$00( n. M- l5 p% K  g8 b4 F" V
  275. STA $B8( W( H+ \6 R* a6 b: E; r" v% v
  276. STA $B9
    & d$ h' v+ v! T# K+ I
  277. STA $BA
    * X& [7 a' U$ m, A+ i
  278. STA $BB# z' ~. u" e% N8 w3 a6 m
  279. STA $BC$ Y- O( I, X) p9 h8 V( ~& t% @
  280. STA $BD. X) T7 y' M% P% r6 T1 r/ @
  281. STA $2001  T5 O8 q2 B0 Q
  282. LDX #$00
    ' ^4 J4 k/ `& t" ?& U  m- O. }; `3 c
  283. LDY #$00: l: S, P0 O7 t$ e
  284. LDA #$00
    , y% F2 @/ j6 j) @
  285. STA $BA- M4 P4 ?$ A4 N: s3 K
  286. LDA #$20
    7 x+ V- h( N- Y  z; x
  287. STA $BB
    ; ~% {7 }% g/ R& M5 ~

  288. 4 O4 w, D( M3 A# _: U" E) b% t
  289. CL1:1 z& g+ _) s& i6 p
  290. LDA $BB
      u8 \: F2 L) C5 k
  291. CMP #$28
    8 _6 K% ~  X* {
  292. BNE CL2
    + a4 c( I& }7 E! e; q, G  a7 i
  293. LDA $BA
    0 S! w: H; H1 l; P- D) I: \+ x
  294. CMP #$00
    / l2 e% K% H4 ]; G) A
  295. BEQ FREEWRIYE
    $ h- f; D" r; h, w8 B
  296. 3 N0 N: q# A% A" y! ]
  297. CL2:
    0 {! h" T4 j+ U% E% c0 f) D4 Y
  298. LDA $BB
    8 t- D! }' o0 Q0 m) l
  299. STA $2006
    % a9 P: u9 N1 I9 }; }
  300. LDA $BA
    ; c# E- s  s0 l5 J
  301. STA $2006/ f) k: s* A2 }1 O& Z
  302. 2 b9 I+ W8 }) P& i7 ?, i, P+ T
  303. CL3:* B) ^1 j5 h6 R
  304. LDA #$00
    ; i* M3 Z; k5 F' d8 i; d- f
  305. STA $2007
    ( n6 M1 `. m- y/ g. @

  306. / b* H6 W8 j) \, u  O
  307. CL4:. n% T3 |8 D$ X& a, @
  308. LDA #$00
    , x& X+ P' H( Q( s. `0 h9 @
  309. STA $2000+ B8 r0 h* G1 [3 o1 c2 k4 {* r
  310. INX% i, I# L1 l; W/ T
  311. INC $BA: ?! z4 N2 O4 o7 c
  312. CPX #$00
    * L* s$ ]5 m, ]0 S7 h, _
  313. BNE CL1
    ) {; h& F+ V' m
  314. INC $BB
    / P8 c6 }: X$ c: o
  315. JMP CL1
    4 f1 t) Q1 u. X+ J( \

  316. 2 K0 S" v1 L  w# D+ ~  p1 g8 e

  317. " G3 a/ w$ T  s) l
  318. FREEWRIYE:
    ' H0 m( f! {0 L6 S( t

  319. 4 y: w' e$ ?1 M; ?
  320. NOP
    , N4 w8 I2 i% u8 o
  321. 9 b( e/ P$ T) Q* Z2 m- A6 S

  322. ; x" U6 x1 ?. J

  323. 1 V. Y: a2 q- b4 ]7 `
  324. 4 m1 t- `! i- m1 N

  325. 6 n! b& g% d3 I9 D8 R, U* N  o
  326. CLEANF:                ; 恢复现场
    3 F: R  V) U/ f( R& X  S( u# P
  327.   e4 x' g8 s: t( w$ Z4 m) b; y9 |
  328. PLA
    7 l! L5 A  V* b1 }5 a& p* n
  329. STA $B85 Q$ i" r. _5 ~5 g1 ~9 |
  330. PLA
    5 D8 |' k+ h6 B1 S2 y
  331. STA $B96 S' w3 n$ a3 M2 _6 c) Z
  332. PLA
    6 B% p' g1 o2 c: h7 v
  333. STA $BA+ p3 H& a9 `) N
  334. PLA
    & I6 ~' u2 M8 J) \% l" V8 X
  335. STA $BB
    , z. M4 o! }# |
  336. PLA
    + R( ?; L' ?, G6 l4 _( s* S2 |
  337. STA $BC) q; o; g( J* h: Y7 a
  338. PLA* _! |; y5 {* q% j9 G) L
  339. STA $BD  W, J( {. R; \1 |7 \( [2 r2 f
  340. CLRF:
    3 K3 l  F' }* |4 `+ c
  341. JSR FREE_PPU  O  Z& }! B7 M! A
  342. RTS: ~+ T8 P, m% J, Y3 j4 l7 Y
  343. 4 U1 Z! S% g/ E
  344. + }: G% ?* [7 R' ^6 v
  345. PPUWRITE:    ;PPU写回
    ( ?+ c- @6 V, j5 h- [, d( p8 H
  346. PLA
    8 `  t. t! l5 E9 f  q! v
  347. TAY& p. K# r- D* `) Z% _( w: l  t% H
  348. PLA2 T% R! D* y- a. S  e5 L
  349. TAX
    & |7 g" x& ~* _, _: z; I8 [* ?
  350. PLA
    & j2 i% |: s# c
  351. LDA $25! w0 J" f, C9 A9 _
  352. CMP #$00$ e! k& o! i5 X! i- r+ }
  353. BEQ WP1
    4 ~( D3 \6 l, q* ?
  354. LDA $25
    4 g+ o. d6 v8 J( y* Y
  355. CMP #$01
    4 z3 W1 b5 K" d
  356. BNE WRE+ R3 z; o' \9 V  l
  357. LDA $F5,X
    / r6 w; H1 \/ _* b1 L
  358. AND #$EF
    + g& |+ B+ {1 G% {: u6 l
  359. BEQ WRE
    # L+ i8 k2 M8 Q
  360. LDA #$00
    ) W% t. M  S! K
  361. STA $7FA0
    7 r7 N* I# f0 }$ F/ \4 c7 m: f
  362. : U/ C! [$ G0 n  C$ g9 l. ^
  363. WRE:
      ~7 H: V: V- X1 {/ Z
  364. RTS
    - B. D# y+ h5 ~0 y7 S2 q

  365. & r2 q0 P  u, |1 N* N
  366. WP1:& |# G1 o7 j# F# T/ G$ q% |
  367. LDA $7FFF) n" a8 u/ G5 L$ L' ], Q
  368. CMP #$FF
    % @0 v- T1 f& F( R; Z( p& O. }
  369. BNE WRE, @: _3 x# J6 o/ S( I) ]
  370. LDA #$00
    7 a. s$ t: L8 E1 P8 L
  371. STA $2001
    ) ]3 ~4 b' l% m
  372. LDA $BD
    7 O2 o; S( G( Y. t
  373. PHA
      v* H- R2 H. O9 R6 W; ~. W
  374. LDA $BC
    5 N! ?" B$ V/ c9 E6 @1 M: }. `8 T
  375. PHA
    : ~0 t" K$ @( V+ v; }& g4 \
  376. LDA $BB! ?5 M' d/ `! @3 V( J
  377. PHA4 q1 B$ c' d5 X- v& D1 a
  378. LDA $BA; _: s' Y2 A" g" l& K
  379. PHA
    4 E* ?* Y- _# k( K
  380. LDA $B95 N4 S# z0 W+ z. a) `% l3 S
  381. PHA; d7 M' i9 q! `
  382. LDA $B8* ^2 d( X- E% T! ]* x  ]
  383. PHA& ^7 x2 _  @+ _' J1 s+ Q4 L* I! ?
  384. LDA #$00
    - q2 ~$ e+ d. d" L4 v6 Y# z
  385. STA $B8
    ' `. w  w8 o1 X0 S( ]* L5 \
  386. STA $B93 k( M6 N& N) U8 T
  387. STA $BA8 O" y8 l' R! W) o/ ]8 T# ^
  388. STA $BB' R1 [. }8 u1 O( g
  389. STA $BC2 n% M  Z7 d: ]
  390. STA $BD
    , \* S( g: R; [( x% L
  391. LDA #$00& y" k! n0 g; Q
  392. STA $7FFF
    " S& [) o6 [$ P5 d4 z9 h4 Q1 _

  393. ( k* K+ c, Z$ u/ m* ~- G" o
  394. WL0:
    " D! I% U6 R) r" b
  395. LDX #$000 C. X! `8 [, v: E$ Q. j3 A  {
  396. LDY #$00
    7 j2 N$ {; ^+ h3 l9 P8 \
  397. LDA #$00
    . I) }" N" x) k& z" _) _8 U
  398. STA $BA
    9 ~  V8 E7 V1 x
  399. LDA #$20( f& ~% o  x9 Z
  400. STA $BB
    % d% S' T, t* @
  401. LDA #$00% n7 _* X! M/ d0 E9 A- J
  402. STA $BC
    " M# I; k  X# k5 x+ l
  403. LDA #$60
    + l6 q( y$ \4 ]/ A
  404. STA $BD
    2 d: ?' Q0 f( k# v3 I  ~
  405. 7 x* U( j6 a- |7 h
  406. WL1:. l8 q; f0 ~) _6 A
  407. LDA $BD
    " x8 o, P  i2 i
  408. CMP #$68
    : k5 X$ Y+ s4 S. V
  409. BNE WL2# `) K7 b1 t$ H* d  n* x- S
  410. LDA $BC
    $ d- A4 k7 r$ M9 v* f( C# k
  411. CMP #$00
    , a- ]5 z( O( F' R0 N' G! x- {9 C. j. m
  412. BEQ WLR
    ! \& j; G# S( J' r/ s/ W( w

  413.   [0 c+ g& |# c9 U$ X
  414. WL2:
    ) I! Q) ~5 T, L, d/ L
  415. LDA $BD
    + z# U* w3 |$ f9 R5 d3 L
  416. STA $20064 N' B" N5 D  h% n( B
  417. LDA $BC  W  ?6 j! b' _
  418. STA $2006! X: p! K: b# ~, D' l# b, O
  419. * H0 V+ D* ~; _# P
  420. WL3:
    # O  w; Z# [) E& W$ P2 i
  421. LDA ($BC),Y
    2 f  E& j/ p$ }  C5 L/ X- d
  422. STA $20072 a7 d( H% }: g) n; Z9 C

  423. ; l  P2 F/ a" Y
  424. WL4:9 s7 Y+ q$ I4 d9 @0 p$ w$ H
  425. LDA #$005 k6 c: I5 s5 P5 K
  426. STA $2000
    " h5 |) v5 G' b1 U) {6 v; `
  427. INX8 \& C0 s; v5 U8 z9 d2 L
  428. INC $BA
    / t8 P( \. G8 P
  429. INC $BC
    " i& \$ S& L* z* e+ b; L
  430. CPX #$00
    * p' [! ~" I$ {  _2 A0 f* U+ P7 ]
  431. BNE WL1
    0 P# M& v# X' s8 X3 K. w
  432. INC $BB$ b5 K5 r4 k1 |/ W
  433. INC $BD; C3 Q) O, F: K# j# q% Z
  434. JMP WL1; q% |9 F# C$ W( H" F

  435. ! v$ n0 c6 Z6 k, o+ L" \0 f
  436. WLR:
    . F& e/ O7 [9 F2 p, c( _
  437. LDX #$00" Q9 d5 s8 K+ o& \* t% g4 S
  438. COPY_7F00_7F3F:
    ) N; i4 j8 o+ A6 n; D+ w) c
  439. LDA $7F00,X
    . g. [$ l1 S. j. g( h, t9 Z
  440. STA $07C0,X
    , G2 S+ Y1 Q; H1 X
  441. INX  l  g8 |3 Q2 O. j1 u" x$ ]
  442. CPX #$40+ u( `% v! e7 l+ ~& q' ?% p
  443. BCC COPY_7F00_7F3F1 a! d: x! m3 Q$ M# F2 }
  444. " Y2 _1 S% u/ [9 ~, X& S
  445. LDX #$000 V. G4 S2 m8 D6 C4 N( R" i- p! D
  446. LDA #$3F
    # C" U( q2 [+ A' u
  447. STA $2006% U# l% B; t7 ^- s+ ?3 k& W4 ^0 [! q
  448. LDA #$00' X8 R, A) s0 m  Q
  449. STA $2006; m7 ~! X2 Z/ z
  450. COPY_7F00_7F10:
      l6 \) O- t- Z2 K
  451. LDA $7C0,X( ~1 P( x- P% h- D
  452. STA $2007( Y% O+ P* T  b! H
  453. INX
    2 f" j4 e) `$ X- s6 B% ~
  454. CPX #$10) @1 `' L0 k$ }1 C$ a' H
  455. BCC COPY_7F00_7F10
    % i7 X9 _7 Q( [8 l8 |
  456. : L- b! j& J2 I
  457. LDA $2002
    + N2 _$ a% M' w* c  f- e% W  h7 B% f
  458. LDA $FD
    . h# ~. i: h$ l6 z; z
  459. STA $2005) k" W  k1 |+ ?- Z$ ]' n+ {
  460. LDA $FC
    8 j2 S  |1 R0 h7 l$ e, C" r
  461. STA $2005+ }9 d- c! A$ H/ N$ K3 @) {

  462. " K/ ?$ S+ w7 n& [; D% w3 p
  463. LDA $7F50, `; Y* N& t: [/ Z
  464. STA $FE
    1 A& T0 v' i8 n2 |" q6 `8 w
  465. LDA #$00
    % u3 S) K$ s6 G, K
  466. STA $2000) J4 {; J# R. `0 K/ D- {( O3 C
  467. PLA
    & W) P* U6 _3 ?- I# T
  468. STA $B8
    6 J- Y7 E6 Y  \0 ~
  469. PLA; h# I* e" [5 M& z0 X% X- B4 ~
  470. STA $B94 n8 {! g$ j/ B+ v5 X3 P0 C9 ?
  471. PLA
    1 P% w( ]* ~7 m; p9 z" I
  472. STA $BA& C% D* H4 }6 }
  473. PLA
    4 d9 c$ W( w% o; x& I: e
  474. STA $BB
    ; M% V- i- ^, c$ _1 K' I! J
  475. PLA5 j$ a) O$ ]3 N5 r$ y5 e' }# t% \
  476. STA $BC- y/ v6 Z7 s, o  k) ]$ Y9 D8 f
  477. PLA
    . @2 I4 B. n+ k
  478. STA $BD# o; r0 T* A( w! A; x

  479. 6 x1 I/ r: j( [2 W
  480. RTS
    - x; g! W: Q# I% c' ^5 J

  481. 2 \  i) A- _$ e; \/ \
  482. PPU_CMP:: ]! {7 Z3 V, s3 Y; m

  483. + J: x- d+ v# S# e7 l0 U
  484. $ v4 m; ~: G/ g( Y8 R% S5 H
  485. PPURE:
    ! [: n( ?8 t. c$ g9 P/ u/ l7 H
  486. RTS) h% e/ G& X& g% _- Y' n

  487.   U+ Z0 J% z( K4 L6 ^
  488. 3 ^9 u$ y4 r$ r3 N
  489. FREE_PPU:" ^3 q6 N4 e3 q7 b4 [; {
  490. ' S: n- V: L" C2 w
  491. JSR TEXT01_PPU
    . V- ~  y* F# C4 Z/ }
  492. JSR $CBC0
    ( J6 F( d) y% d" P
  493. JSR P1_PPU; f0 Y' S; k" Y: r# Y
  494. JSR P2_PPU
    , m" M4 v4 s/ n0 \8 T  |, O) W
  495. RTS* v  a9 j: P8 u& Q
  496. $ ~; H7 V, A) V. L( e9 _0 ?0 h8 z
  497. TEXT01_ADDR:2 O0 y0 d; D6 j5 Q( n; {- h
  498. .BYTE $20,$42
    7 H5 O. d$ G" N) |
  499. TEXT01_DATA:
    0 E; Y. N8 K; c7 X3 D8 C' a. d5 m
  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
      b' g2 F" [% `, D; @
  501. TEXT01_PPU8 i4 x( x8 y, x: W, H
  502. LDX #$006 Q' K5 ]" S" g3 A0 I) R* V
  503. LDA TEXT01_ADDR9 b9 Z7 e) \2 C3 v. ^( ]' e
  504. STA $0703
    , V8 b1 n3 s  a0 e6 U
  505. INX
    & H% u# b! m) K/ N
  506. LDA TEXT01_ADDR,X
    2 B0 b6 `0 R# L) x- k
  507. STA $0704
    % f& j0 m4 ~/ g. E6 x
  508. JSR PPU_PROCESS
    2 g" B- z. h4 B/ `
  509. TEXT01_W:* T% a- W. ^% K% m7 C! }8 N
  510. LDA TEXT01_DATA,X+ |" L3 {1 k5 c$ I0 X2 ~
  511. CMP #CEND
    ' E( k# ]) D! p& M  s8 y
  512. BEQ TEXT01_START0 `& R0 z: g  ]* M; N8 G7 z
  513. STA $0705,X
    7 ?) x5 I! r) z6 P9 w/ C+ v
  514. INX. A9 r* E) M) O# k
  515. LDA #$00) x6 X) F5 w! l8 K/ g4 z( U
  516. BEQ TEXT01_W# Q& x: v2 E' q  m5 Y/ D9 I
  517. TEXT01_START:
    / i% v  s1 i  E: l# H
  518. JSR PPU_START
    - D$ Y+ c0 E3 T! a
  519. RTS
    8 G/ W! D% b+ Y0 o5 i
  520. ' ]! x) Z* h% b: N1 J, i
  521. : D; T& e5 C! D2 K5 x. o
  522. COLOR_DATA:, V3 ^) m& {9 Y7 \3 K' h# t
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    % l1 K& Y8 n- D, \8 m" N; F
  524. / O! N  k. [3 W  T
  525. P1_PPU:
    + Z+ @  c6 b7 \3 ]1 ?
  526. JSR PLAYER_01_PPU
    " H8 G! n: C7 K5 A
  527. JSR $CBC0% p  m$ l0 u0 k& J( H! L( k
  528. JSR RELIFE_P1_PPU
    - T( i9 I& f, e: r4 k0 |. }" k1 Y
  529. JSR $CBC0& i. d6 ]. f0 a- |3 Z
  530. JSR RELIFE_NUMBER_P1_PPU
    ; T5 Q* v5 b5 m% S! l
  531. JSR $CBC03 n! }; a# S7 Z
  532. JSR WEAPON_P1_PPU. T/ g" S. F4 ?9 V, K; c9 ~0 m
  533. JSR $CBC00 d, p# n& w' w+ ~# J5 }  b
  534. JSR BULLETPPU_P1_PPU
    3 t3 ]/ f! o0 z/ ]5 Z
  535. JSR $CBC0
    0 I! U; v) S# m% d
  536. RTS
    6 R$ O9 n+ u0 k1 v
  537. 2 N- m4 N: ]5 C, l5 p" _+ j; c
  538. P2_PPU:! b# c: u+ j9 J
  539. JSR PLAYER_02_PPU# z4 w" \5 W# \
  540. JSR $CBC0
    # G6 M1 l3 l& {; X+ E  C
  541. JSR RELIFE_P2_PPU0 J, B9 ^% j3 n% Z+ z% C: i
  542. JSR $CBC05 {6 b7 W9 \" s. \! v
  543. JSR RELIFE_NUMBER_P2_PPU* p$ y( P# {8 z! B3 B  h3 d  @9 u
  544. JSR $CBC0; S0 D- R% c( B. q0 m
  545. JSR WEAPON_P2_PPU. A7 h+ U' K+ F+ Z% R
  546. JSR $CBC0
    ; u4 m' V1 V" G+ v; L; q/ U
  547. JSR BULLETPPU_P2_PPU6 @# e0 m# @# R% x$ M) Y" U
  548. JSR $CBC0$ w7 N1 D4 n: w: x+ b; s
  549. RTS
    8 i, s0 G! P; a/ @
  550. . M' E( @: K1 Y
  551. " E' H. l% J6 f0 F6 O( t) @/ v
  552. ) b# H9 ~0 N; H+ N1 d& V
  553. PLAYER_01_ADDR:
    $ u( s+ g: n" F
  554. .BYTE $20,$A36 X* x7 }1 o" |+ s5 Z* D
  555. PLAYER_01_DATA:& X1 M8 T, |$ w4 ]) K6 b6 I
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND
      R( \( b/ q2 z* o7 v
  557. PLAYER_01_PPU:. A  J- _1 z8 `8 V9 [1 T' [
  558. LDX #$001 `' P) {' g5 G
  559. LDA PLAYER_01_ADDR- A, G# w( i/ o7 D7 z- ?2 [% P  {
  560. STA $0703
    % m0 P, @& b$ ~/ o7 m1 J
  561. INX
    $ F' G' n/ g/ h' S$ A
  562. LDA PLAYER_01_ADDR,X
    $ T! J! r9 z( q/ h
  563. STA $0704
    ( ~( ~6 k/ r  Q, @5 x* Y; f6 `, d' K
  564. JSR PPU_PROCESS  `: x% U: u/ y6 z4 {$ q7 \4 s% l
  565. PLAYER_01_W:( B* a; m7 {0 @: S. E  |
  566. LDA PLAYER_01_DATA,X8 V3 |5 S! D( X, s6 Q' x7 C: U
  567. CMP #CEND
    8 k7 e2 ?9 D3 F& g1 M3 p* f/ j" x
  568. BEQ PLAYER_01_START
    + l. G* l' q( z) O
  569. STA $0705,X5 G1 ]9 b  e. b9 P2 k) F9 j
  570. INX8 y4 V. \) x! S0 t: F& ~
  571. LDA #$004 k4 q& B* N* T% M; Y0 G' V
  572. BEQ PLAYER_01_W+ H% M. f' p" E
  573. PLAYER_01_START:
    / g* _' A! K0 Y% X( Q
  574. JSR PPU_START
    0 T4 S. l! K- S
  575. RTS
    ) l7 t: t! I/ D
  576.   p0 S1 X% Z+ N! \* ]
  577. 6 A9 M5 \) t3 l) F
  578. RELIFE_P1_ADDR:
    7 m( i9 H* n: z
  579. .BYTE $20,$E3
    & V" |+ ^' U& s) m
  580. RELIFE_P1_DATA:
    4 b" L: G  k! t" d+ s
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND
    " R2 V( Q* n. Z: R. A  C
  582. RELIFE_P1_PPU:. C# C8 k! e8 R- i
  583. LDX #$00- M2 U/ W+ a& b2 _
  584. LDA RELIFE_P1_ADDR
    . V# X/ e: A' N! a
  585. STA $0703( ]8 R. x1 V4 O5 S
  586. INX
    " D7 S) P2 C# }* z# R
  587. LDA RELIFE_P1_ADDR,X5 N- f, `8 R% H. _9 v* p
  588. STA $07040 w% r2 B. m% r6 L
  589. JSR PPU_PROCESS6 q+ S0 G7 c8 |1 p" r3 j( }' d: b
  590. RELIFE_P1_W:
    2 {% t4 R. }" ~" @/ g& n( B1 B
  591. LDA RELIFE_P1_DATA,X
    2 K! X$ A9 _$ t
  592. CMP #CEND
    " S  P: K3 T2 P/ V( R7 J; f
  593. BEQ RELIFE_P1_START
    * V. J% x$ e5 \8 b
  594. STA $0705,X
    / c7 N& _9 D/ \* \) a: l( m
  595. INX' f7 n, f: {0 a
  596. LDA #$00
    , m) X: f$ ^0 G! V3 Y. v% x& x' ?/ }
  597. BEQ RELIFE_P1_W
    * F# {3 s/ p  K! E0 L
  598. RELIFE_P1_START:2 O: w5 T% a" S
  599. JSR PPU_START2 ~$ ?0 |: F& f9 g; N" M4 ?+ ?. k
  600. RTS
    5 h/ p0 r' B2 y3 g  g! m' \( }6 _/ W

  601. / L: D) }3 Q2 U$ g% x

  602. , `! o1 ^# Y, U3 G1 w& o; S
  603. RELIFE_NUMBER_P1_ADDR:
    / I$ B; \' e. D  {8 s) p# W3 G# I
  604. .BYTE $20,$EA% l) }* ~/ i* y- D( K" y! f2 z
  605. RELIFE_NUMBER_P1_PPU:
    / N9 l' \# J6 h( j% e, m: A
  606. LDX #$00
    1 ]( H/ \5 r4 B) o: l/ }/ W8 U
  607. LDA RELIFE_NUMBER_P1_ADDR% E& V' X: F4 x' H* z0 A) J: T
  608. STA $0703
      |9 h/ P$ d: I" F8 o4 P0 V( j
  609. INX
    9 P1 O) `; w: A5 F' A
  610. LDA RELIFE_NUMBER_P1_ADDR,X
      G6 \: ~9 `2 p! N* o0 L0 n
  611. STA $0704* \/ S; }, C+ m6 R4 `4 W
  612. JSR PPU_PROCESS  |# I0 N, @: a$ g" D/ g1 L7 M, W
  613. LDA $32% t, i  Q% l. k6 c1 s! I) a
  614. JSR LIFETODEC8 h8 V# w1 P0 \  F2 C
  615. RELIFE_NUMBER_P1_W:# I. \6 T/ W3 _& M( E* U$ c
  616. LDA $7A03- Z- J( N4 p6 ~% E
  617. STA $0705
    # j, R+ j" l! ^6 e" U. B
  618. INC $0705
    + Q- P5 W# n* Y2 X5 Q4 n+ w" B
  619. LDA $7A04
    + A5 P# ~# P+ [: y7 L
  620. STA $0706) u8 l& l. A. r7 A" x9 T
  621. INC $07067 s* N, g  q$ v% D& A- `. i
  622. LDA $7A05
    0 l2 h' u) |9 J- g0 C
  623. STA $0707
    : [& ^/ ^" ^, N$ D  Y
  624. INC $0707
      k6 x5 L" H; ^# M" t  P: r
  625. LDX #$03& _  S1 J; Z: {' u
  626. RELIFE_NUMBER_P1_START:
    - O2 o( z& V* _0 c7 f/ m* Q
  627. JSR PPU_START
    , I; \. x# v. c. P0 x* K1 Q& C3 X' h
  628. RTS
    4 t8 S; ]2 G/ P% ]
  629. ! P1 G1 Z! h) g$ h. ]) C' T7 U
  630. WEAPON_P1_ADDR:! A. n. w8 Z! D, z/ E  G- y0 ?9 L
  631. .BYTE $21,$23
    1 q6 ]6 L. I1 I% Y3 o8 f7 {
  632. WEAPON_P1_DATA:
    ' _+ B# |( M* B5 ~0 j" p6 E
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND
    4 N  T7 o7 a$ K& Q
  634. WEAPON_P1_PPU:# R" g, ]' ]9 u& }  S; K
  635. LDX #$005 j& c3 A* {2 d' W7 h
  636. LDA WEAPON_P1_ADDR
    # n/ ]2 J5 D1 H+ K" i5 x4 j. f
  637. STA $0703
    + y' k0 v3 ^3 H8 g0 U+ H9 H
  638. INX3 X; K3 c6 F- g; v  l6 k
  639. LDA WEAPON_P1_ADDR,X
    1 \: L& L2 [# A( ^. f/ v6 y
  640. STA $0704  h9 j1 ^7 j# y: y1 t
  641. JSR PPU_PROCESS
    2 ~: J% y. h, H' g
  642. WEAPON_P1_W:
      u) |7 y: i6 T: F
  643. LDA WEAPON_P1_DATA,X+ z0 o) ]. t2 t2 v) e7 m
  644. CMP #CEND0 F: r9 U3 X" R) Y+ ]9 o: D
  645. BEQ WEAPON_P1_START
    . f1 h, @2 l5 ~/ h) D" Z4 G$ ^
  646. STA $0705,X
    : h$ Z/ j$ d% I$ \
  647. INX7 F; ^  x  j$ {! w
  648. LDA #$00! A4 j4 W0 r6 D' Z( a5 e! \+ l
  649. BEQ WEAPON_P1_W
    - X6 ?  f/ d2 g0 x6 L
  650. WEAPON_P1_START:$ r) s& {3 n  \4 s+ W2 T  g' q) s
  651. JSR PPU_START
    ) ~. c" G& w; G# P# [) h- g# R
  652. RTS% ^3 p! l* v- _9 }
  653. 0 K; l5 B1 N+ P$ q- e8 L
  654. BULLET_P1_ADDR:
    ! b2 T+ i4 a4 K$ w
  655. .BYTE $21,$2A
    9 `- L0 D9 B7 e! {; m5 p1 n
  656. BULLET_P1_DATA:6 L5 T$ J6 @) X) _# Z
  657. .BYTE $00,$01,$02,$03,$04! c3 u% Z" z1 I! N5 v* g
  658. BULLET_P1_NAME:, o2 i9 S' c! n4 o
  659. .BYTE CN,CM,CF,CS,CL
    7 T, Z" N, ~; c" d- \  ^

  660. ( F7 z& v; Y9 T6 c0 I6 A
  661. BULLETPPU_P1_PPU:  f0 x1 N& ^/ H% j
  662. LDX #$00
    % _5 |$ d! I1 }2 b* K9 P' O' F
  663. LDA BULLET_P1_ADDR, v+ j+ K; T) ]4 Z. Z
  664. STA $07033 p/ s0 Q  I* Y8 d
  665. INX
    3 [7 K8 }0 s* W) I* M0 z
  666. LDA BULLET_P1_ADDR,X* G# g. P5 d9 E
  667. STA $0704
    7 Z& ]  P# _6 K, b' J9 A
  668. JSR PPU_PROCESS" Z  {4 }+ t( n0 i2 m4 E7 L
  669. BULLET_P1_WRITE:
    9 {- n* m% ]9 T- j
  670. LDX #$00/ z7 ?4 j* i6 J1 O  k, r2 l; t- U+ y
  671. LDA $AA
    $ P! G4 }9 {% c+ Q+ O+ u; J# F* H
  672. AND #$10  H2 W# r4 Q1 c, d
  673. BEQ C_BULLET_P1: v6 y1 E4 h$ r5 U4 A" J
  674. LDA #CS
    # ?  \( l* L6 s; ~% D; D
  675. STA $0705
    1 n% T! l( Q* d) Z: K, t6 }
  676. BNE B_NAME_P1
    ' ~$ s" B' X& b+ {# H4 H# }
  677. C_BULLET_P1:7 ?& O  p8 r: b( U
  678. LDA #CC1 t2 S. b# T8 C5 L; ^, {
  679. STA $0705
    4 |( ]$ o* u% [* I6 E% c
  680. B_NAME_P1:3 k* E9 }2 v) H2 r8 |' S$ \) K' g
  681. LDA $AA5 W+ ], ], W; A, O8 g
  682. AND #$0F
    $ k5 o! k- I8 `" v
  683. CMP BULLET_P1_DATA,X# u" }5 W; |$ _1 H! J# n
  684. BNE B_NAME_P1_RECMP9 l6 X3 X6 Q* {+ Z% ]0 b/ M
  685. LDA BULLET_P1_NAME,X% ?: `" f  C* Q4 p' O7 n& W+ f' g
  686. STA $07069 K8 P1 x2 e) M, [
  687. B_NAME_P1_RECMP
    + t6 z$ \4 V) s3 j
  688. INX! N8 O1 \/ L2 P* n1 l
  689. CPX #$05/ y' P) a4 ]6 Y9 K% [1 h. ?5 c
  690. BCC B_NAME_P1
    % w0 K# F! H/ |" _7 l
  691. LDX #$02
    6 X; `" G8 N" p
  692. JSR PPU_START" Z; p# p2 P; b  M% p* Z
  693. RTS
    3 d# f2 `$ @! g3 j( o8 Z' Z
  694. $ h; G5 w5 `( z' i5 m! |) \
  695. $ Y2 V& ~* x! @: r4 ]. ?8 H& C
  696. PLAYER_02_ADDR:! D8 g% H. l8 m  S* @  H8 l8 y
  697. .BYTE $20,$B3
    - w$ U0 L5 b0 T8 N
  698. PLAYER_02_DATA:
    7 L/ w& |/ m6 `' s! R
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    % \; @5 L, {# q+ v3 C
  700. PLAYER_02_PPU:7 g2 R* V+ U/ T8 q8 ~
  701. LDX #$00
    4 p) }, X1 U% h8 n4 @8 a
  702. LDA PLAYER_02_ADDR# f+ j3 G7 [0 C2 l9 _) {4 Q
  703. STA $0703
    $ B: i0 F! l1 `+ m
  704. INX% S- Z* t  B' H5 e0 p, p
  705. LDA PLAYER_02_ADDR,X+ Y2 A  l: m! O8 F$ ^
  706. STA $0704
    * S# F& j# T/ f1 p/ U4 }
  707. JSR PPU_PROCESS$ F* F( r% V7 `
  708. PLAYER_02_W:$ b( w( f4 e; k4 K
  709. LDA PLAYER_02_DATA,X
    * P% z, u3 i% S
  710. CMP #CEND
    6 f; F9 i; s8 D( |4 M
  711. BEQ PLAYER_02_START
    ! l4 V& b; W' v& r, ~
  712. STA $0705,X
    5 O) `" [. e* @" j0 w+ F
  713. INX1 V( {8 c; P9 U0 C" `' S
  714. LDA #$00
    + e% }+ n4 b+ c" M8 L9 u
  715. BEQ PLAYER_02_W
    $ L) a8 Z5 b( L& p0 o% j3 f
  716. PLAYER_02_START:" N3 M* i: [( \: y+ G
  717. JSR PPU_START
    . @+ g' s3 z5 i% h9 G" v
  718. RTS
    * {+ a, W& X# u3 J4 i% e, y  x

  719. 6 I; J. _' }& O9 k8 Q

  720. ! P0 g7 ?, n" W. |
  721. RELIFE_P2_ADDR:% j. d8 [# Y! g0 v4 @' n, [
  722. .BYTE $20,$F3
    ! X. M3 h  p# `& H  d
  723. RELIFE_P2_DATA:( M3 q% P9 {& n/ V9 B
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    ' q1 k$ ~$ h# {/ n+ y' p
  725. RELIFE_P2_PPU:; w% O+ V- `  R: C% c8 ?# F1 _
  726. LDX #$003 v4 z+ o' g: Z/ t
  727. LDA RELIFE_P2_ADDR7 p! J; `7 M& ?0 M' a" x
  728. STA $0703
    0 f/ r% w$ K" ?' l, `
  729. INX1 x" [: O# Q( d5 b
  730. LDA RELIFE_P2_ADDR,X4 l. ~6 r! v; y" c
  731. STA $0704
    ! @) _9 L1 d& M6 [
  732. JSR PPU_PROCESS. x% O7 |. v2 ~6 z
  733. RELIFE_P2_W:. ~7 I% B1 X! b+ w) S
  734. LDA RELIFE_P2_DATA,X
    4 |/ S- d8 `, T' h
  735. CMP #CEND) s* q, k- V: v" ~. p
  736. BEQ RELIFE_P2_START
    + u* Y+ d6 X6 v) c8 A0 R" i3 ?
  737. STA $0705,X% v- t2 D& [( V
  738. INX2 T8 {. W! o) O( l7 h  A/ O
  739. LDA #$00
    4 C$ a9 r1 ~+ `9 n( K4 @1 D- q/ l
  740. BEQ RELIFE_P2_W7 f7 `2 d( D* q7 L
  741. RELIFE_P2_START:
    " T  r( ?( ]; h' ^
  742. JSR PPU_START
    ' K+ n: Z6 B# D# f
  743. RTS
    8 u4 g" \. a  l( N. \# [
  744. + B" y7 r4 l8 _  g" X& [
  745.   L8 E( }0 E& K1 T* u, W
  746. RELIFE_NUMBER_P2_ADDR:
    1 k- T$ e' I( T: z+ \  W4 H
  747. .BYTE $20,$FA
    ( V, s% c0 q' i  Y1 i; g* U, ^
  748. RELIFE_NUMBER_P2_PPU:
    0 ^9 W; F7 w8 D
  749. LDX #$007 Y$ t9 S+ ~  s- \9 ~
  750. LDA RELIFE_NUMBER_P2_ADDR" N2 V4 \- L& A( u
  751. STA $0703& _7 h. m9 B  V: k$ Z
  752. INX
    : ?( \  a, G7 \3 |
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    + q" s" ~/ y9 [' O, ~0 S6 e
  754. STA $07046 B( c' c6 j. J
  755. JSR PPU_PROCESS
    9 T- q1 A$ {" d9 P0 |% F4 x; e
  756. LDA $337 U1 D1 h- W6 L, E! c8 h9 Y
  757. JSR LIFETODEC
    , b0 I/ F. w, |# \! I$ q
  758. RELIFE_NUMBER_P2_W:3 h5 N3 w2 j% L$ |% n- p
  759. LDA $7A033 f: l8 N3 |/ E* d" A: H& r
  760. STA $0705
    2 O9 H8 d" R# U
  761. INC $0705$ {- F* W; @: b" b; v
  762. LDA $7A043 x# C8 P+ p3 D, `/ E  d. L
  763. STA $0706( X( ^4 R7 v) H7 `) H! I
  764. INC $0706
      k9 ~2 Z, d9 F: |
  765. LDA $7A05
    ) `6 i# L) ~- D0 g9 A* U' N
  766. STA $0707) C5 }% ?9 o- t$ b8 i
  767. INC $0707
    8 |1 q6 S# O. }7 {$ K
  768. LDX #$03
    $ ^. ?% e2 R& y/ I% m
  769. RELIFE_NUMBER_P2_START:
    + M/ m- e% \+ \3 N
  770. JSR PPU_START
    ' S( W2 ^5 _3 ?7 O7 V
  771. RTS4 F0 ?" l# R/ M( G4 M+ z- q7 C

  772. 2 |- z* |' _* W' |; i; a
  773. WEAPON_P2_ADDR:' d1 c0 j& {* S
  774. .BYTE $21,$333 A$ N  u2 u9 B  r1 j- o4 V' `
  775. WEAPON_P2_DATA:
    8 A" K9 O- V, G% _" ~
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND0 S+ N$ _" g" A/ M' L+ y
  777. WEAPON_P2_PPU:
    , W; b+ w1 C, F6 N6 S- u  f4 g7 G% _
  778. LDX #$002 l$ n, M) L! x6 Q0 V
  779. LDA WEAPON_P2_ADDR8 v0 a/ Y; \& V. W+ _
  780. STA $0703
    . Y0 P3 \# T# _2 ~8 u
  781. INX
    # ?. z" C" ^' K( C2 ^9 h, `0 d+ Q
  782. LDA WEAPON_P2_ADDR,X& V: V- T* j# t( G4 Y- _) A
  783. STA $0704
    7 d3 k7 E/ r2 U- Z( a
  784. JSR PPU_PROCESS
    ! ?  @; v+ V0 n% f0 O# I; a8 g
  785. WEAPON_P2_W:
    0 R, w8 y" F1 n9 W  j* l- C# Q. d% D' R( C
  786. LDA WEAPON_P2_DATA,X3 ]0 x; G- u9 _! V  u
  787. CMP #CEND
    " S* I& b- i  E! C( x5 i
  788. BEQ WEAPON_P2_START( B9 J& P% {2 F9 c/ S# |1 e
  789. STA $0705,X8 ~# Q+ J9 |. q1 V- x+ Y4 J' d
  790. INX
    $ o4 Y$ D) D5 p' k+ A, q
  791. LDA #$004 h) r: L, r+ X( m( ]
  792. BEQ WEAPON_P2_W+ {$ G) M3 y3 A7 \  A
  793. WEAPON_P2_START:3 y; v' B' O: Q7 Q1 X
  794. JSR PPU_START
    6 n7 t& c1 |, _1 ~
  795. RTS3 X1 m/ ~- c. {' e$ `" \8 a3 @' _$ n
  796. ; w- s3 b0 O& r* M% d
  797. BULLET_P2_ADDR:) s+ z. C0 i' i3 p7 o8 L0 E8 _
  798. .BYTE $21,$3A: h" `5 `- g" B$ T+ [! R- z: B
  799. BULLET_P2_DATA:
    5 [  V# f, G) ^  Y. H4 s4 d% H
  800. .BYTE $00,$01,$02,$03,$04
    ' p) O; T; O; A! F7 d
  801. BULLET_P2_NAME:5 s& i9 \% l) b' x. W" p6 x! y0 T
  802. .BYTE CN,CM,CF,CS,CL, a2 e: |$ b) U9 h. t6 ~9 }3 a& o

  803. & H7 f, l" t6 d5 T! i, ?+ M2 x3 G
  804. BULLETPPU_P2_PPU:+ }' n: U! \* X$ q9 @+ N4 q' @
  805. LDX #$00; i) t3 Q: r& c  F6 y$ g
  806. LDA BULLET_P2_ADDR
    : r, l/ ^$ A+ n1 X4 H/ i/ T5 W
  807. STA $0703- A/ k8 f1 o% j0 {
  808. INX
    % {$ O) v1 }! w, I; M' _
  809. LDA BULLET_P2_ADDR,X+ R- h$ b3 e) g5 ^" t9 n
  810. STA $0704! \; M2 f! n) ?/ A6 n/ C
  811. JSR PPU_PROCESS
    , ]0 N7 \8 U; ?, D7 r/ X) [
  812. BULLET_P2_WRITE:
    8 P1 r: c" i" m
  813. LDX #$00
    1 D1 I" k% x6 B% P% u' k
  814. LDA $AA6 k6 |: [* ^4 x: O- B
  815. AND #$10% s- C9 h: P! |
  816. BEQ C_BULLET_P2
    ! I# r$ m2 D9 L! o0 c
  817. LDA #CS
    - y4 m, G% g9 R+ w% h0 ?
  818. STA $0705
    5 f& ], r5 l- \6 p7 I; |+ ]* G
  819. BNE B_NAME_P2, V% b; Y$ e. {& @  X
  820. C_BULLET_P2:# J) G0 _1 `; m$ p& b
  821. LDA #CC; K" ~- U' M4 F! @, Z
  822. STA $0705
    ! j7 t0 m  q% M5 k* _* p3 z
  823. B_NAME_P2:
    3 `( L+ b7 |; j1 {$ S! Y
  824. LDA $AB7 x3 u! B2 `7 q- _! U
  825. AND #$0F6 @' Y$ X/ x! P8 ^. h# I# p2 e
  826. CMP BULLET_P2_DATA,X0 V# o0 H1 v/ `; D8 t
  827. BNE B_NAME_P2_RECMP
    ) y1 I, I& i8 |& P* V' v
  828. LDA BULLET_P2_NAME,X
    , o7 c: u, U# C3 D5 W' h
  829. STA $0706
    0 ]( e' R% _7 F
  830. B_NAME_P2_RECMP' p/ s* l: E3 Q; T- u) Y5 F
  831. INX
    1 d0 l6 L4 W$ U; J- j* Q
  832. CPX #$05
    ! q% K+ A3 c* a* |
  833. BCC B_NAME_P25 |2 L7 a" ?; P! w' e; }1 ^
  834. LDX #$02
    % v# @3 U" \% A
  835. JSR PPU_START; @# C' r4 f: {+ e0 P, _9 L
  836. RTS9 _- Y2 W; g% g/ M
  837. ( ~* r: Z. Q% i
  838. 7 i# {- I2 j' f7 Z% L; x, q
  839. ( T. V2 [; c3 f: w2 m( q/ f
  840. ) M5 J) H" R" t

  841. ) r( V4 H8 q6 p1 v) ^7 N

  842. ; ^2 b* {  F) L! C
  843. LIFETODEC:                ;十进制转换6 ]9 E7 ?$ m  B
  844. LIFEL1:        ;initialise
    5 P' h5 x9 q/ Z$ Q7 v8 B: g% Y5 y
  845. STA $7A00        ;$7A00=F3
      s! c  X3 q4 C4 i1 d
  846. LDA #$00
    - D0 ]- }6 V' j: }. P, y
  847. STA $7A03        ;$7A03=00/ m% Q6 n  y8 `
  848. STA $7A04        ;$7A04=000 }7 X* M4 l4 \/ A& g
  849. STA $7A05        ;$7A05=00. V1 T$ z6 U+ j+ F( P* s6 z! O" _. Y
  850. LIFEL2:        ;copy data $7A00 to 6001  P2 B8 Z& H7 W6 @9 Q
  851. LDA $7A00' F4 B# Y% B" i1 U) q( j
  852. STA $7A01
    , F% x3 r3 p7 o/ G0 e* b

  853. - k& m) a, a+ D9 H( b
  854. LIFEL3:         ;hundred9 ?; O8 F$ I  a8 C7 ^- d9 G
  855. LDA $7A01
    / S( h) \: y9 B1 E$ v/ l0 V& d7 I2 T8 z
  856. CMP #$64, F# a8 C: T* B' Q. K! M. Q8 O* Q
  857. BCC LIFEL6                ;$7A01<100 goto L6
    , s) K" Q9 \6 S/ h8 b8 ^
  858. LIFEL4:
    " e$ [' i- g) |' T4 J6 V
  859. LDA $7A012 y7 h& B; X3 {2 W& }5 C
  860. SEC0 `+ Y  v) U1 K6 i
  861. SBC #$64        ;$7A01=$7A01-100
    ( j# o- M" V0 e& }/ {" R
  862. STA $7A015 o# @% i' W1 E! ~' O) Z
  863. INC $7A03        ;hundred++  {7 K( m. q2 U3 p; e! q
  864. LIFEL5:* _; A+ ]( p0 O( W6 c
  865. LDA $7A01
    5 \! \- F- @* V; G5 I$ z, w
  866. CMP #$64# P0 H% j# L! |" L# N
  867. BCS LIFEL4                ;$7A01>100 goto L4, X$ b' t* |5 U5 l6 S
  868. 0 |# e) s$ ~8 P& c; I& C4 S% c
  869. LIFEL6:        ;decade6 Y1 l$ |4 l" f4 `' `1 {
  870. LDA $7A01
    # x% b* F; p9 C, x& Q
  871. CMP #$0A
    0 g, W$ \- _+ a
  872. BCC LIFEL9                ;$7A01<10 goto L92 `/ D* A( F  k. @! u+ D
  873. LIFEL7:       
    ) {/ d( K- V6 E5 d! H
  874. LDA $7A01
    " C/ S) _# v- w7 T0 g
  875. SEC3 r$ j8 j- p1 r* i* }8 e
  876. SBC #$0A/ G4 F: D0 i. v, G( f4 x+ |5 u& z
  877. STA $7A01        ;$7A01=$7A01-10
    4 }( M4 g, _8 h
  878. INC $7A04        ;decade++' x% G( g  I# ~
  879. LIFEL8:
    9 u) h) c4 J7 l" `" E) m
  880. LDA $7A01
      J" B3 g0 J* @( W; e7 K/ h
  881. CMP #$0A" ^0 o- y$ k4 |* n
  882. BCS LIFEL7                ;$7A01>10 goto L7
    / W3 l2 n/ ]4 E8 n2 F2 c
  883. ;unit& g* I' E# u1 n3 ~8 F, E
  884. LIFEL9:; j! M3 g+ `/ w! g
  885. LDA $7A01        ;$7A05=$7A01
    . s8 t8 K9 C# _4 g
  886. STA $7A05        ;unit$ `# G7 i7 t3 `4 J$ t+ X
  887. RTS        ;return
    6 K5 r9 {/ B& @) j+ }, D* Z
  888. " l7 f; z9 J4 L7 ?& O% b
  889. 8 n" }3 S& k3 A- l5 p
  890. 4 ~- c$ [/ G  q
  891. PPU_PROCESS: ;PPU地址处理程序. `- S! O) a4 k2 g% w/ j
  892. LDX #$002 z2 e( ]( [6 b& _8 A
  893. LDA $FF& s3 \% ?0 @9 v$ i/ f0 X# n" F: F! p1 L
  894. AND #$01! Y& V  q; t# P
  895. BNE PPU_2400_27C0
    * \) U+ U! h7 q, H5 c
  896. PPU_2000_23C0: ;命名表14 ^& B2 k" G' H( L; B( a
  897. LDA $0703
    " \2 i4 L: U2 F3 [
  898. AND #$FB) ]/ c% y) E0 J% n2 Y# M( v
  899. STA $0703
    2 |' A9 L# @+ Z- t9 y% E* c1 |: _
  900. RTS
    ) h% B$ T5 u& O; v8 a
  901. PPU_2400_27C0: ;命名表2
    # ^1 t8 H) \& h3 \, q) U
  902. LDA $0703
    : C- j1 Q- ]! Y& @' d, S( T
  903. ORA #$04
    " t  `$ G! {5 P. b- M  c7 s+ \8 @7 `
  904. STA $0703! }4 i, j8 `! c+ M) x9 l* h  o
  905. RTS" f* M1 E9 [0 X% I$ t- m1 M

  906. 1 P: C$ J( F# r1 H4 U
  907. PPU_START:  ;PPU数据写入) x* Z) n* L4 ?6 W1 y9 s6 n- @
  908. STA $21( d; O" ^$ L" u; o
  909. STX $0701/ ^% a! S# g, k1 n' i9 y
  910. LDA #$00
    8 {* H- r: w; I& M
  911. STA $0705,X1 x6 W$ p% Q2 r" ^# y0 o
  912. LDA #$01! {* ^8 k: \' q  P
  913. STA $0700
    " z. k4 |  y, J& G1 g1 q1 G% e
  914. STA $0702: ]0 ?: v4 \1 h/ @! r4 t
  915. RTS! x5 g/ t+ h- S! e( w

  916. . {3 E3 v2 }2 R% g; ^1 Z

  917. ) |9 |: E( d* ^6 [
  918. 1 w, q- V; A) q* }' Q0 U' i
  919. - D% ?  I! `3 X; U6 z$ G6 q! L4 N

  920. ! `* ]3 Y6 k# U7 G% F
  921. % e$ E. I5 D! N7 n/ h
复制代码
/ t+ Y; \! O2 W. s7 |

本帖子中包含更多资源

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

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

签到天数: 2139 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!' Q& _( k. s& ^; z- P6 }
回复

使用道具 举报

签到天数: 2558 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 26 天

[LV.4]偶尔看看III

发表于 2017-2-16 20:23:33 | 显示全部楼层
没事时有时间时还是欢迎发表教程,谢谢楼主贡献
回复

使用道具 举报

签到天数: 2060 天

[LV.Master]伴坛终老

发表于 2017-2-16 22:58:37 | 显示全部楼层
看不懂啊。。。。。
[发帖际遇]: liujunbtx 发帖时在路边捡到 1 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|国治模拟精品屋 ( 沪ICP备15012945号-1 )

GMT+8, 2026-6-6 06:09

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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