EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    & z* \% r3 s2 h4 N3 W
  2. 作者:FlameCyclone' H  @: ]: T- E  a! a
  3. 时间:2017.2.12
    0 C9 W3 E/ H0 z
  4. & I( h8 v& l$ x- B
  5. 按键跳转:0 m, U) @3 i( p  P
  6.         C1EF:95 F5 94 F1+ z6 x5 f* z; `
  7.         C1EF:20 70 FB EA& O: p1 p/ w3 }1 [8 P, W
  8. ! B. S0 F0 Y* J5 S* v) U. s
  9. 滚动偏移:% Q! ~0 e8 X9 O% N9 V( ^
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20: }  C% _0 K1 B' T2 {$ c# U/ e7 \
  11.         F936:20 C0 FB EA EA EA EA EA EA EA8 \7 S; ?, z. y( K5 {
  12. 5 x7 F7 R( D1 w1 E
  13. 背景调色板:+ O3 l8 F/ Z' I) c+ p! @- J2 j
  14.         CF20:9D C0 07
    7 O7 f$ J( j- r3 y, q
  15.         CF20:20 A0 FB
    6 x' d' f5 Y% P; q  s& ?* L

  16. 9 |; P( `' N3 m& p" H
  17. PPU BANK号:. B5 T( j7 w! U: m) |) p
  18.         C8C9:9D F4 07, e: I5 w2 I5 T2 \8 t% p7 X
  19.         C8C9:20 B0 FB5 U1 h' e  N3 u/ I: j6 p

  20. 6 i5 ]7 E! m4 p8 N1 k9 K
  21. 按键跳转:
    ; m) c# E' [1 z7 h! w! F) i0 ]
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    ; D2 B9 b4 B, V' R2 x8 O
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20: @3 s, [+ f3 t$ x
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF3 y# g2 Z- V5 j* ]

  25. # \" ~2 ?: _* W
  26. 背景调色板:1 Y% C+ N0 G9 r- {; d
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF
    / v; }/ `+ `/ i& X  `. _
  28. 2 i' E6 ?6 D  ?
  29. PPU BANK号:' V9 }/ e4 w) z5 |
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF
    : g6 n7 i, q! m- T9 k
  31. $ e9 l1 _% B' J8 q4 Z6 \4 X' W
  32. 滚动偏移:! P$ \! @8 s  e$ m2 `. L9 G" i
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60
    : Q9 L& b. j0 a
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    * }/ y) C( o: R" t

  35. 2 S6 C" ?: M4 j. ^7 E! \
  36. " L. X4 N2 x+ j2 f7 C0 o& W* d
  37. 切BANK后A000:
    * }# k7 T( E9 V! Q% z( W
  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
    ; a8 @1 p3 v' ^  `! ]; ^7 C

  39. % a; K- h6 ]4 K& e6 Q9 X' K: C0 ]) z

  40. $ J. d9 u; w" L: O; h% q
  41. 6502 simulator:
    % O. e; O" N& `: F0 _6 g1 x
  42. PPU写入程序:
    # R/ }# P. Q( n3 }5 x" p
  43. .ORG $A0009 o- Z  f) ^% X4 C' O# U! e: j
  44. CSP = $80
    0 u# u/ i3 N5 o- O* t
  45. C0 = $815 I2 [* z# T- ]
  46. C1 = $82
    ' W" H+ [: ?- b* @% Y& k
  47. C2 = $83( S' B" K3 o  j" ^% h
  48. C3 = $84$ q% l3 F% W& n2 S: E0 Y( u
  49. C4 = $85
    : f3 ^  R4 h' B; o* \7 j9 ?
  50. C5 = $86- a2 e  e9 T+ m' h. X6 }
  51. C6 = $873 z# Z: g& v1 K: o8 p7 H
  52. C7 = $88& p% s* U, k. Y: Q
  53. C8 = $89
    ( i9 _0 \% T, I- e
  54. C9 = $8A
    ) ~0 c! U  f  T1 I5 l, n, s/ n
  55. CA = $8B6 S9 U! j5 x4 h  Q  W0 q6 ^) X* H
  56. CB = $8C
    2 k! o  x; C1 N" w- c# Q9 r
  57. CC = $8D
    5 z9 I$ Z- X/ S) N
  58. CD = $8E- f# s% O' k9 _3 q
  59. CE = $8F; b% z4 G( F9 p4 c6 ~5 K
  60. CF = $908 k& q* v; d$ B6 y, R
  61. CG = $915 c  B6 K0 O2 v3 C
  62. CH = $923 R2 s" W! o9 C" d+ Z2 j/ g
  63. CI = $93
    4 F7 Q5 [( _) G2 x
  64. CJ = $94: L. V% i' Z$ m5 l. I2 _
  65. CK = $95+ o: e$ ~" H1 J. y  t* ~. n
  66. CL = $96
    % i/ H/ R& Y. D$ A
  67. CM = $97: ?1 w0 {$ ?& v* o6 {0 a
  68. CN = $98& _& }& z5 U, Z+ o2 K
  69. CO = $99, i1 V+ H9 ?! m! T  i
  70. CP = $9A
    $ m7 e' {5 L. u  @
  71. CQ = $9B0 i  M. S, {: E6 c8 ]- }; C
  72. CR = $9C) V+ d1 t3 S  o9 [: Z1 G6 N* O
  73. CS = $9D
    & w+ j7 b+ V' b5 J# W+ R5 b; j
  74. CT = $9E
    : x9 Y: |2 O8 j& K) G' o
  75. CU = $9F% [6 Z1 |4 }, S( J
  76. CV = $A0% x$ U5 s1 q5 ?  H. I8 Q
  77. CW = $A18 T' `7 U0 K* ~2 V3 E1 ^6 i4 h) u
  78. CX = $A2
    1 |# `  D2 e. q0 u1 q! ^
  79. CY = $A3
    3 K' |: d0 e% ]  g
  80. CZ = $A4
    1 ?$ x. k- e* J7 z7 F/ s" g9 k
  81. CEND = $FF" \8 b# l% S5 N
  82. . ~( D; B  R! a! }& H8 D

  83. $ O! t! K4 w, ?* v! r! _( f
  84. CMP_RE:  X; Y$ F* Q1 J; q3 \
  85. LDA $FF: ?% G7 S3 A3 ]3 F! @7 R; f
  86. AND #$7F
    & @" Q  L. Z4 D
  87. STA $2000( ~* C: g+ Y( c0 l- s' d4 h- f: }
  88. LDA $2002) ^# M. b/ C! ^+ @- O6 m% I
  89. LDA $25
    " p" Y# [$ X5 b. r! o  [& E
  90. CMP #$01
    . u: u3 b7 H# D/ O& f/ f. K
  91. BNE PROREG
    4 ~2 j! `$ q) m4 a
  92. LDA $F5,X2 M0 V7 K: l/ j5 {# q+ u, p
  93. AND #$CF
    6 Y! X6 N+ q7 X% o$ F3 u( J5 u- K) k
  94. BEQ PROREG/ k2 f  I, b! o8 n% t* I
  95. JSR PPU_CMP2 f+ z0 [2 Z% A& X% _
  96. C_RE:2 g/ F9 Y& C" R9 @) n
  97. RTS1 [: d2 l& n* F. ]) {1 ?
  98. PROREG:% ^4 U% K/ V, d1 F6 T- x9 Q& ?8 n
  99. PHA
    9 Y2 h, y, c# c+ A# T
  100. TXA% m* P) C) Q$ |) ~9 ]& L
  101. PHA
    . W; d- c' h& F, m
  102. TYA
    ) U+ h) a3 ^8 _) r" X9 Q
  103. PHA8 L6 f, _1 D8 [
  104. LDA $25
    6 [% L2 k6 p3 u( V* L* @( z
  105. CMP #$01  W4 C; ?" J0 m. n$ G
  106. BNE RE9 k4 y$ A; z) {5 h8 j
  107. LDA $010A
    2 n- U5 P$ k3 ]- ]6 l) _) K2 w
  108. CMP #$00
    3 O& V1 D1 q, |. U6 l
  109. BEQ P1
    # n+ a) O. o% Y( H1 c: t

  110. ( y% r( Q% |: E4 b8 `
  111. RE:/ s3 V6 S+ z' ]* D5 z) F
  112. JMP PPUWRITE$ g! y( I; [# o  Y3 c( W* k
  113. 0 Q1 ^* f4 m. `) z
  114. P1:                ; 条件判断0 m1 g! L0 E9 T$ z; S6 ]4 @1 R: S
  115. LDA $7FFF
    4 X' h" u' m4 o
  116. CMP #$FF1 l( R5 U2 q9 V7 ^7 v
  117. BNE P1RP
    ! J( n( ^: w# m$ k
  118. LDA $7FA0% r& v9 T3 k9 Y
  119. CMP #$00
    5 C2 y. F$ ]3 H3 X
  120. BNE P1CMP
    6 x4 p4 _5 h# N1 B$ {* k
  121. LDA #$FF
    ; g4 C+ O$ M- n8 B7 z
  122. STA $7FA0
    ' M8 ^* x3 X) b/ x. P8 _
  123. JSR CLEANA
    8 ^: j' h( t$ R4 w3 C
  124. JMP PPUWRITE
    8 e, G: T* @1 g( c3 ]
  125. P1CMP:
    $ ]( h. C8 b6 K+ A
  126. LDA $7FFF
    , a/ [8 U) B: F6 o1 o
  127. CMP #$00
    5 k6 K. }$ j7 p+ }% k$ J" n
  128. BNE RE; I. |* G5 A" s" }- t8 L3 D9 j; w
  129. P1RP:) p8 Y' j, u' l( _  P
  130. LDA $2002% W% x+ }* Q3 h, z8 n' F3 H
  131. LDA #$00/ x& I' v$ [! r8 U4 `8 a% g0 M
  132. STA $2001
    8 z1 ?8 \! ~7 b' g1 P& p
  133. LDX #$00
    4 M! H9 Q( E" T* O
  134. LDA #$FF
    6 N: ]7 [: ?! X) N& h2 \7 N3 a
  135. STA $7FFF
    ! L# ~& l" ^# C! c$ H! c+ u- i* N6 w
  136. STA $7FA0
    " h7 [& z( E' |! E" E! b
  137. JSR COPYPPU1 w5 e: e1 Y9 |/ u2 V8 t
  138. PIRP2:
    + w2 W+ Z) w+ F* P; T( w
  139. JSR CLEANA: m4 {( A6 l3 @
  140. JMP PPUWRITE1 ]( t6 F( V' Z  N3 x9 k

  141. + h  _# ^! u/ c1 w; H, E
  142. COPYPPU:
      v7 Q, _7 H) ?1 N7 a$ Z
  143. LDA $FE
    $ L" L% {  U/ j; n1 r3 t3 M
  144. STA $7F50! u0 I  B7 n/ s" u$ f
  145. LDA #$08
    1 m+ H3 [! f( J  E8 N' E( e
  146. STA $FE4 ]" x8 {0 e3 L0 W
  147. L0:
    ; f- F- c* u% z
  148. LDX #$00
    - N0 Z$ `% E# c  v! {$ B1 d
  149. COPY_07C0_07DF:; D: @, t) e6 [$ M, b8 E# g, Z
  150. LDA $07C0,X1 z5 A+ H$ T$ v' T4 m5 D/ _
  151. STA $7F00,X( d" D- A8 x% f" ]2 t
  152. INX
    ' N. B! R+ z* |2 v# o
  153. CPX #$40
    7 W+ R# E) [3 i# ]* ^! A% {* C/ }4 T7 \
  154. BCC COPY_07C0_07DF2 J+ {$ m9 D* Z
  155. LDX #$00
    ; _" Z  ^5 v5 t/ a
  156. PPU_07F4_07F7:& L) T# E( b9 Q3 y# ?$ C! a
  157. LDA #$00, F" |4 \8 J0 ~4 x% V0 |8 e
  158. STA $07F4,X" @2 Z' s! D/ X3 ?/ N
  159. INX
    : {' Y% B- A2 A1 J, f. x" x3 X
  160. CPX #$04% u; _7 Y+ w- e! ?' Z
  161. BCC PPU_07F4_07F7  ^. T2 W1 e4 U* J0 C
  162. LDX #$00
    6 K/ R1 l: x4 d) D
  163. COLOR:& U* E+ _, Q& h" t& D$ V
  164. LDA COLOR_DATA,X, ~" j$ |  g# v7 B: Z+ E) u- B
  165. STA $07C0,X
    5 _6 w+ M# l2 ]. J
  166. INX6 j1 ]. S: ]* L- J4 O) c
  167. CPX #$10
      G$ A) x! t% x! R* w
  168. BCC COLOR' \/ G5 o% {9 Z2 P

  169. * @) q/ Y5 V0 @& C, i1 ]& c
  170. PPU_COLOR:+ z/ m6 c7 s' M+ F: z7 \7 X0 K! |6 F: b
  171. LDA #$3F9 w, G0 J6 n. y8 y# `* t* d
  172. STA $2006
    2 I0 ?, m/ I2 q6 a/ D. N+ l+ S* y( b
  173. LDA #$00. z( O: M: m% D/ q
  174. STA $2006
    . a7 ?) T3 g$ k( \* W1 N' j  Y. D
  175. LDX #$00
    , O# [% T/ V- M3 q: M
  176. PPU_COLOR_W:+ r& _; }/ n; S  p$ e
  177. LDA COLOR_DATA,X) D  E: l" S: f1 _4 w/ F/ W
  178. STA $2007
    / k9 P% y0 d/ N' S
  179. INX
    + q: g8 V1 {' `: Q# I( E
  180. CPX #$103 c, T) D8 v3 @; ?. n! \
  181. BCC PPU_COLOR_W
    ' p- O1 u/ P: z, O  U5 \

  182. 7 e- _1 F+ w5 j4 Q1 `7 x! b' R
  183. ' ?. B  C5 L# ~: T
  184. LDX #$00
    $ d  ?/ Q* Y6 r& _$ l& E. u; b
  185. LDY #$009 _1 Q$ _# g* {; Q" F8 d
  186. LDA $BD3 c' L5 v) K  p5 K
  187. PHA
    1 @# {3 ]( g7 u
  188. LDA $BC* s3 w; a/ a; Z  i; J
  189. PHA7 ?" F5 L4 W! i$ U1 i( b
  190. LDA $BB9 v" e; w4 @  O5 A+ T" ]
  191. PHA
    8 L7 m6 r# L- d& s6 w" }" k' P: h
  192. LDA $BA
    ' E+ h# V5 o4 ~1 `4 w- [& s# O
  193. PHA. i4 a# q3 p  k
  194. LDA $B9: r4 [( f1 F' q5 [/ W3 r
  195. PHA# s6 a3 o. S, u: F% q1 m4 d
  196. LDA $B8, g! `4 ^/ L/ D. `, D; y0 j# A$ S4 T
  197. PHA6 e/ f2 O7 q% e
  198. LDA #$00% D$ E* V' P) j1 Q4 x/ y% c- F$ F7 k
  199. STA $B8
    7 y& y! v  H% l5 I
  200. STA $B91 n) m" @, I# p* j( ?; r
  201. STA $BA. ~( N8 N9 e6 H% I" u
  202. STA $BB( ~) a4 B, ~2 _; a% P  p6 d( w- {& y
  203. STA $BC
    $ }# U. _! R/ T2 D- M
  204. STA $BD
    , ^7 Y( y6 i9 r2 m
  205. LDA #$00
    2 Q/ W  t- ~& q( Y. b5 {) s6 y5 c
  206. STA $BA$ O: F7 \3 G+ ^1 P& [3 H. Q
  207. LDA #$20
    6 Q6 ?' X* g1 `- q
  208. STA $BB9 Q2 X7 S% D7 j9 ]* G
  209. LDA #$00  ?' K) h% D& y* J  }
  210. STA $BC0 y/ y( {( A  d# K0 o% _& d' t
  211. LDA #$60' x8 m' E! ]" U. t* t
  212. STA $BD
    & V' u  X% i4 t1 f

  213. 2 J+ n. K$ @& U& F% g
  214. L1:                ; PPU复制& u& {  k' C2 T; B
  215. LDA $BB
    & i$ @- L+ ~3 b) j7 j
  216. CMP #$28" y+ R0 v* u, N5 [  L& ^% W) \
  217. BNE L2
    * v$ D: Q; K7 F) t& j8 i
  218. LDA $BA. d& S$ m! @. r) r9 m
  219. CMP #$00
      u4 i* G. i: q# Y6 Z% a' E5 ?
  220. BEQ PROADPLA
    8 p  \# y5 t* `, J7 W  j
  221. 1 G1 P( l" a! G/ Q. \1 ^. e
  222. L2:
    7 Y2 Q! @% v4 u; \7 v6 x
  223. LDA $BB4 k: ^0 i+ L1 _
  224. STA $2006
    " a* v! H  C& s
  225. LDA $BA; S/ g" B7 W% O3 X- n6 a
  226. STA $2006
    , u% {2 p. O: t' }" R& |: O8 m% `0 V

  227. , @% s, O, g1 a6 [8 w
  228. L3:  B- w% X! ?: u, ^& `, J! W! Y
  229. LDA $2007
    6 k+ `; i" w5 |* m( N1 v: s
  230. LDA $2007
    5 ^  x9 }7 J: o$ u3 s0 E) c
  231. STA ($BC),Y8 n' k0 F4 P' Y

  232. ' }% T+ `  |$ o, V7 M+ n) O
  233. L4:6 e9 T! R' a9 T" v8 ~
  234. LDA #$00  n& X& S! ?% i$ T! J. y+ H. N
  235. STA $2000: \- b. v' u- q  x: F: t
  236. INX
    9 B+ A# N- _" Q* ]! [% n  F
  237. INC $BA/ ~8 i. f: x: ]* E' b0 }8 f
  238. INC $BC( A8 }1 |7 C1 E2 H9 T% I
  239. CPX #$00
    " A: r: {2 I; D; d
  240. BNE L14 S) \/ I1 p- c
  241. INC $BB7 w2 m( W" q  a. R! k
  242. INC $BD
      y1 y1 |$ r3 c% D
  243. JMP L12 x3 x7 W% Q& W3 ^$ u  ?( q* J
  244. . I( T) }, D* A! ^6 f6 x
  245. PROADPLA:                ;出栈5 _( k1 ]. M' P
  246. PLA; e' f+ j# q0 U' ~; o( q( ?
  247. STA $B8( t. i0 H' @, H% H# Y
  248. PLA4 q2 i" r8 L- f5 U. b9 A
  249. STA $B9! V  v! M1 v- o2 G* g4 |' b
  250. PLA
    ( W' q9 [5 p2 p  n. ]6 j: \
  251. STA $BA. n, c( S: l* w# G# S( f
  252. PLA  z5 |1 _- I) Z; A+ z! I0 L; P- R6 }
  253. STA $BB
    % Y" F  ^9 m4 b$ [( {  q
  254. PLA
    ) U7 Y% L+ n/ ?: o
  255. STA $BC: ?* _$ h' |* J* D, g' k3 P+ ~
  256. PLA$ h/ `3 B4 E+ D
  257. STA $BD4 M' A: [: f' s& Z2 \7 E, p
  258. CPRE:
    6 d" |4 N; o; K6 j
  259. RTS: F0 S3 r" `# ]/ q/ d1 ?
  260. 3 J7 f+ O+ o- A* {2 Y6 W8 @1 {% t: b
  261. CLEANA:                ; PPU清空
    , R$ j! j5 ?/ }, |
  262. LDA $BD
    0 B+ P: f. I; p5 R2 Z
  263. PHA8 i5 Y+ G& a7 ~; R1 Y5 J
  264. LDA $BC/ f8 g) K3 i2 O- v( K. y
  265. PHA
    5 F" z# p4 v- A
  266. LDA $BB" h/ k5 W  V2 x* @8 _! A6 ]% n
  267. PHA
    - m! J3 u( y) r. E. k3 u) a
  268. LDA $BA: l/ A- h! M/ R7 r' a3 K  @& p
  269. PHA
    * k6 s4 T9 C3 P1 _  i
  270. LDA $B9
    ) P. y3 q3 L) b1 T0 |4 |: K
  271. PHA0 J( A. u, j9 ]/ S9 [
  272. LDA $B8& x$ N+ ^$ x# g: N1 @& b1 S+ o2 y
  273. PHA7 X5 _: o( A# e  G' [; N
  274. LDA #$00
    % r7 j) t8 G3 ~, o' i
  275. STA $B8
    # j3 f: ?" J5 [  R. w( \9 x
  276. STA $B9* }3 u2 v  S% [$ k/ ~' ?. D' k
  277. STA $BA
    3 ]$ J; b, p! t
  278. STA $BB
    , ?1 L) C/ `3 p: |0 A( j; o3 V
  279. STA $BC1 R" M6 ?! F$ @; e  I8 \+ o
  280. STA $BD
    * D2 \8 U. Z6 j# h& W) f
  281. STA $2001
    $ U$ I+ Z8 M1 c' |
  282. LDX #$00
    ) T* i: C4 p4 r9 n: H2 F: l
  283. LDY #$00
    + U, a  ^$ M" i) d7 Z
  284. LDA #$00+ K1 D- [0 N/ @/ H# J
  285. STA $BA
    % y  O( ?& p' J6 _  L* k
  286. LDA #$20
    ! k; Q2 \5 w% z$ J
  287. STA $BB
    1 [7 |$ M8 ?, z$ ^: F

  288. , k3 h  ~, a) s7 ~1 j+ }
  289. CL1:& y1 ~# D* G0 t) K) E5 @
  290. LDA $BB
    + |0 T8 y/ Q( T% O4 t8 M+ z1 ^- S
  291. CMP #$28
    7 e  K- h  q7 B! b
  292. BNE CL2
    - _% A! v$ R1 }# m) n+ V
  293. LDA $BA1 _5 L$ G7 A1 \: n3 m
  294. CMP #$00. ~1 r4 P! T! ~7 [- b1 W8 D/ Y2 e1 y
  295. BEQ FREEWRIYE- D1 a5 H# z: `% t" y! U
  296. - }, }8 q7 J5 i$ n3 E  t5 \$ ~
  297. CL2:- _7 C: K" h8 ~2 V
  298. LDA $BB
    $ z  D1 Y3 N! B. r" S5 @
  299. STA $2006
    , L, b8 W0 S3 _- ?
  300. LDA $BA
    ( J; J* q6 b" E' S9 C* Q
  301. STA $20066 J6 _1 i7 [  Z# P6 ~
  302. , K2 `3 [1 g, U) ~1 g1 q3 p6 s
  303. CL3:( l9 Y% y9 i" c: I
  304. LDA #$00
    ' _: T. V/ B8 ~: j
  305. STA $2007
    ! v9 T" o3 `! E# Z* o9 q) T

  306. % j+ U& d. ~+ |! J. S6 H
  307. CL4:
    2 K" I: Z/ K. B3 [$ P- [0 u
  308. LDA #$009 g3 }' V$ T8 t& a/ l( ]
  309. STA $2000
    * u8 b2 [$ ~4 t" l
  310. INX& V6 y, K9 O- M- p& V
  311. INC $BA9 g3 \: z- c+ }; y: l* L
  312. CPX #$00" n9 O5 o( b! D/ z" `/ C
  313. BNE CL1( k7 ~2 l) J) J; ?2 D% R4 B
  314. INC $BB( R* ~. c2 k" P  e$ ~5 d6 s
  315. JMP CL1
    / r+ |% ?5 R$ y& {
  316. ; c1 J! i: q9 t# E& q
  317. $ o; _) ]; e9 C) z3 p. p. |* e
  318. FREEWRIYE:
    + ?0 O* L3 M4 I; }: k
  319. ) s; ^5 K$ Q0 k6 H( o. t
  320. NOP, W; \0 A" X% N

  321. # E: @- ^  `% b" v1 |' s" b

  322. 9 Y8 _+ G" G. u: ?/ z! W- n( s
  323. ' u' Z$ v, u" J$ m

  324. 0 T9 K: I- Y& w" E, j% D7 m
  325. 9 G. ?1 I$ L# D' z
  326. CLEANF:                ; 恢复现场
    ! V9 {/ {0 h" f+ ?( T

  327. 8 {0 l( P- ?9 r; S1 x
  328. PLA) ]: A* b6 n& F" M
  329. STA $B86 e6 Q  ^' C# C7 g3 A* a
  330. PLA( S* D2 [: ~2 c1 r; E9 U
  331. STA $B93 Y) v' [2 m2 g7 h, L
  332. PLA5 g2 p" p- i1 q* V6 L2 G3 h0 V2 f! b
  333. STA $BA
    + s  U0 I' c; [' \, B
  334. PLA2 T5 e) o6 t3 b: \
  335. STA $BB7 V% h& `& w5 Q
  336. PLA
    6 s; Z0 ~1 p  @& W) X9 `9 Q% ~
  337. STA $BC
    ' B. U( M# G/ F0 Z! [9 I
  338. PLA0 x& Q) ?5 H1 H( J
  339. STA $BD* u0 y) {+ ]- t- e
  340. CLRF:, {6 Q- O0 l; p- Q
  341. JSR FREE_PPU* u( w+ M0 [1 p: k
  342. RTS
    2 Z1 t( m) U! P/ C7 ?+ ~: G4 Z

  343. 4 T! }) W( C5 x: N
  344. 4 O  R4 i; e& U% F$ W% R8 Z, M
  345. PPUWRITE:    ;PPU写回
    # o  a0 |/ A! X+ x; c
  346. PLA
    $ _2 D: A9 v' v9 |7 H- r
  347. TAY9 w, _0 h& _1 e. F
  348. PLA
    * _7 h' U: K5 b3 z* ?$ u
  349. TAX
    ) Y. M/ y4 E' V; w9 u& y. d8 ^
  350. PLA
    ; K& T7 |7 q+ U$ y8 @9 Y% {
  351. LDA $25' ^( y/ u( B: U" Q! Z" O
  352. CMP #$00$ u. O. j9 |4 g  B7 E
  353. BEQ WP1
    9 F2 o" ~8 N  O# ~6 w
  354. LDA $25! h# {6 J7 F# l' W  I1 X! l0 H
  355. CMP #$010 s, H, }; B# S0 E4 \
  356. BNE WRE: ~4 u0 p+ O: I% ^
  357. LDA $F5,X
    0 u: l3 R2 F& {6 L6 x  y
  358. AND #$EF5 G5 ~: A9 A# l8 D
  359. BEQ WRE
    - P- W4 Q+ S: u
  360. LDA #$00
      M( [, `# l$ t1 y. ?2 n
  361. STA $7FA0% n5 e1 F% s! J; e
  362. : X/ e: J3 l' b  A2 G
  363. WRE:
    7 L, |6 q" S" D
  364. RTS/ |! P2 R9 q/ b* S0 F
  365. % |9 g* e; O6 e( ]- u& s; m) ]
  366. WP1:
    + w! c1 f) q0 |; K9 e9 O! _6 O8 {) e
  367. LDA $7FFF
    ' S, U& ?( V7 E: X% Q. n- v
  368. CMP #$FF% n  _0 J1 d2 A/ z  e
  369. BNE WRE  F* E  ~& c% d1 m8 g9 a% a
  370. LDA #$00/ }9 e# b7 y1 Z
  371. STA $2001
    1 ^  r& H5 P: F7 K: x
  372. LDA $BD) C5 f+ f2 o) ]0 N8 W, q
  373. PHA
    0 M; ]) L. H# n- a, h
  374. LDA $BC  J- U# \+ Y+ o- @/ w
  375. PHA- Z) c6 _2 H7 I0 g) \6 u# \
  376. LDA $BB
    ! ?" k6 \% r  u, ~1 P" d
  377. PHA
    " n8 ~" R5 S8 @) P
  378. LDA $BA: H9 G0 s% t+ x7 {$ ^
  379. PHA
    ( P) Q+ B( j8 O! L# c( w
  380. LDA $B92 e3 L& @) r; M% v5 ^
  381. PHA
    " e  j. V- O% _. t
  382. LDA $B8
    - W- G3 h* ~+ D2 w
  383. PHA# ~# I6 v7 N' {( ~) k
  384. LDA #$00
    : @) h- L1 R- O
  385. STA $B8- t& A* Y! N, U+ i7 T
  386. STA $B9
    ! v' A7 l1 D  L8 W  O
  387. STA $BA
    1 e$ ?2 _9 f, `3 \2 j7 S
  388. STA $BB! \- p+ u" i( t" Y) ^, [
  389. STA $BC
    * D6 H. p1 W0 K/ P
  390. STA $BD/ l1 v7 j( Y/ \+ b! W
  391. LDA #$00
    3 c0 n* N9 M' R  t6 X4 e. p: b
  392. STA $7FFF
    : w3 n2 ]2 k8 `

  393. $ z+ J4 Z- b, O. a; u' E
  394. WL0:
    2 w' L8 T2 b9 ?0 t; J$ x* Y8 F
  395. LDX #$004 m, B& G8 \& Q  G
  396. LDY #$00
    + z6 b6 k* k5 c) |  y
  397. LDA #$00
    , c+ }5 x/ K( v, W
  398. STA $BA
      x* I, F; P/ G  k, c( g+ }
  399. LDA #$20- D8 X, j, A% f: I
  400. STA $BB
    , `. G1 I( f" w( h* F5 g* m2 G' z
  401. LDA #$00
    6 E# {5 T6 x7 E2 `1 Z. V
  402. STA $BC  X2 [! ?2 C& o* g( [5 n. f
  403. LDA #$60- k$ ?1 U, @: T
  404. STA $BD& K! J8 y3 ~+ H% O: k
  405. 6 T$ Y' z9 X0 @) k  Z
  406. WL1:; U- C+ ?: x3 A- _
  407. LDA $BD6 x+ N& p: K9 d$ S6 d2 b
  408. CMP #$682 l/ O: R0 G8 f. M  I
  409. BNE WL2
    6 u$ L$ l! S: @: m
  410. LDA $BC6 ^+ ^7 s' u% {8 g7 F
  411. CMP #$00
    - @% c7 K3 q# ?# [5 I4 |# {
  412. BEQ WLR* @/ @5 u) N3 ~' Y
  413. ! b$ H! B: V- D' W: _8 P/ l
  414. WL2:" x5 y; U+ k- o
  415. LDA $BD
    5 ?* X) H- l7 U7 U# G3 q# s
  416. STA $20060 m" M2 v- @3 b$ o
  417. LDA $BC
    3 `* [$ p, m( y( X( B9 Y
  418. STA $2006
    6 d  q4 f' }% ?, p0 K" |+ m9 J2 S) a

  419. 6 {1 [% y2 [: H( w
  420. WL3:6 F7 }3 R! ^2 N/ J5 V
  421. LDA ($BC),Y9 v4 r0 G  n/ K7 C
  422. STA $20077 p# w6 ?) c" ~4 F

  423. + P+ Z7 k3 V; ~6 T* d" W0 y5 v5 y. g/ |
  424. WL4:5 Q7 A- P# q3 z- {7 h" M+ Q' R& D
  425. LDA #$005 q# i1 s6 d8 ?- {, {  @( o( k# f
  426. STA $2000( q. n# Y0 M& `# b% l# q
  427. INX
      c5 r/ f% z& D  k8 C. y
  428. INC $BA% d* S7 h% w$ n% T+ _  E
  429. INC $BC
    : u3 F2 |' D$ z5 f% t
  430. CPX #$00* h! s* c& q# E/ K* }$ E3 o
  431. BNE WL1! Y* Q, H( g! M! P8 J; H
  432. INC $BB1 l: b1 A$ g- E( ^
  433. INC $BD$ Z) L! e+ d1 J5 H4 B6 |' e* V
  434. JMP WL1
    7 x: C* }, A, O& S0 B2 I! S" u$ h
  435. 7 h+ e" o# Z2 h. Z0 i/ l6 B1 Q& o
  436. WLR:! y7 n5 e0 K' e* \
  437. LDX #$00
    ( K; h7 h  X) I5 @
  438. COPY_7F00_7F3F:
    * ^! S# d4 b0 U  z7 R3 E
  439. LDA $7F00,X
    : ]) I, [" ?, `- d3 y, N
  440. STA $07C0,X
    0 l2 s( b8 q$ v
  441. INX
    + X) E" E, g  m& T
  442. CPX #$40$ d% O3 L) ^9 }) V, N- Z0 k
  443. BCC COPY_7F00_7F3F  e8 R/ a6 y4 K; d( Y. c  k( A

  444. 4 l' ~* e8 M* g: }* s2 J, t
  445. LDX #$00
    0 X- C/ K: L1 l$ T. \! Y; I( `
  446. LDA #$3F
    ! l, a; ^% g4 [( B8 g
  447. STA $2006
    - q0 M) _* h: G2 }1 L9 |
  448. LDA #$00
    ; u  R" C4 ]. o; F" G3 A, @
  449. STA $20061 _7 q5 D$ P, Z& |: u  z4 B7 Y
  450. COPY_7F00_7F10:( J; O4 L1 s1 m: T
  451. LDA $7C0,X
    8 h$ m2 `" q* o+ T) x
  452. STA $2007
    8 E( R. U' [- i. y$ Y; A
  453. INX8 k6 A# l- _% d8 s! R  G! v
  454. CPX #$10
    ) Y3 ~' M7 h: X+ a8 |
  455. BCC COPY_7F00_7F10
    $ T2 a. r; T! _- T3 F- S6 G

  456. # v) w) V, |- |5 L% V# o5 `
  457. LDA $2002/ W" k3 Y8 Z# b
  458. LDA $FD
    / M. }6 ~, ^: F8 q" ?7 W* a
  459. STA $2005
    & O0 W2 r) M$ P, s$ H  X- E! R, j
  460. LDA $FC$ |  G+ }( B( `+ [' ^4 G
  461. STA $2005( S  u6 u/ M. Y3 m& d; O8 z; W# A0 N) U
  462. 4 K7 K7 G, M- ?- [3 Z  f. K
  463. LDA $7F50% d6 I& d+ O* a
  464. STA $FE5 o5 ~' Q7 \5 Q/ z" C( b
  465. LDA #$00
    / `3 s4 F* k+ |
  466. STA $2000
    . c" K! ]6 s5 C2 r* w
  467. PLA
    ! Q$ X8 L2 U/ h3 k: n+ ?. I7 I* d" m
  468. STA $B8
    + \0 c; O3 {) u" y% C0 e2 W# ]
  469. PLA! Y6 y0 D" n& }, V1 B- T1 i9 j
  470. STA $B9" b! F; p7 Q+ a5 ]4 d/ s
  471. PLA7 Z! ?. L' q0 ]8 Y$ e; S: r
  472. STA $BA4 P: M& O, F( w5 ^
  473. PLA  o" z! f- B3 N6 {2 D- D6 j: H
  474. STA $BB
    ' Y( p  `9 u5 \# J- ]
  475. PLA8 ^* `8 N6 g! W( g" S4 H4 z
  476. STA $BC
    3 ]: e; J+ [2 ]. Q7 p& k
  477. PLA0 w& Y/ p0 `6 t* z8 P% _" C
  478. STA $BD' h. Z# r  G$ Z
  479. 2 P: l2 y  q% N2 x) U$ T
  480. RTS
    # u& k( G3 z, d1 }1 ]

  481. 6 L" X$ @" B. `# S- H- W
  482. PPU_CMP:
    1 y" A& B9 z. N& H) S
  483. . N- T  Y& C  v' Y0 c( c2 V
  484. + Y0 Y9 c3 u: K+ }( P' F3 A0 A
  485. PPURE:; y: T+ D% w. g2 y5 {
  486. RTS- _( Z4 ~, G# R3 G

  487. 6 E0 T5 e, `: v% L8 y) Y- L6 W
  488. 2 D9 m& K; o. a  d
  489. FREE_PPU:$ y; Z, e; {5 p6 M4 h* D8 }
  490. ' Z) D; x! ?; c4 g5 Z4 n0 K
  491. JSR TEXT01_PPU
    ' f; f% O+ l& s6 `" S
  492. JSR $CBC0
    # o* e4 \' W7 q6 h
  493. JSR P1_PPU1 \  @/ `$ B. s3 E" ^7 b3 |8 q& x
  494. JSR P2_PPU
    $ e& N* y5 m4 `2 E
  495. RTS
    & x: ?0 t  ^6 P; D: j
  496. 3 f- C0 p+ O; w$ q
  497. TEXT01_ADDR:
    8 T2 B! T/ ?0 g& L' w7 q& O
  498. .BYTE $20,$42- K' z9 L- h: S% L7 @- R4 x9 \
  499. TEXT01_DATA:/ e1 H+ G6 }* {+ T* `$ \2 w4 @0 ]
  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
    # f3 }* F7 Z- O' O" K% P3 R
  501. TEXT01_PPU
    # I- E! g( ~4 z, R& Q
  502. LDX #$00
    - P+ v9 g3 D) E1 n2 q
  503. LDA TEXT01_ADDR+ b. T( `# T( c' \5 A. {: v' k8 C
  504. STA $0703' M4 v' B) B+ C8 {0 \
  505. INX
    ( [2 ]3 U7 r& a( C" }9 J: ?1 a' T
  506. LDA TEXT01_ADDR,X
    : X! j+ A1 d0 W' m' V* y6 }
  507. STA $0704
    8 Y) E' E% E# O/ W  n% C# Z
  508. JSR PPU_PROCESS
    + M- |- A2 S; |! z+ |: p8 F4 U: a
  509. TEXT01_W:& Q( ]# l& E: g3 e% o2 T7 R  q
  510. LDA TEXT01_DATA,X
    7 S+ U4 q# e$ p8 k* O
  511. CMP #CEND6 j1 Z: z" W  z3 N7 ~
  512. BEQ TEXT01_START
    & Q4 L; C! A4 v. N3 J
  513. STA $0705,X
    ( D6 g" _  O7 R: r0 S' g- I
  514. INX! I6 B1 h0 u  v
  515. LDA #$000 E7 j( o- b3 K$ A  L
  516. BEQ TEXT01_W
    * F, {% N  p& T+ [
  517. TEXT01_START:
    * w' k  ~% r  K0 i. c1 }1 b: _# i
  518. JSR PPU_START
    - H3 k" u  Z3 |4 q
  519. RTS
    + a0 R% p. U9 H/ y0 D1 I2 F4 \) ]

  520. 3 d! W9 r- I3 R8 t& S+ j. U
  521. 0 y9 j# t& p- ?
  522. COLOR_DATA:: M" s) R( d' i1 e* D
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    3 e( B$ }0 ^, w

  524. 4 J2 I% G# G* M! Y' Z
  525. P1_PPU:
    3 |; I1 Y0 p- f8 `8 f5 {
  526. JSR PLAYER_01_PPU
    4 k- n( X3 Z& P
  527. JSR $CBC07 y4 ]6 M6 W- c: D# |' B8 r
  528. JSR RELIFE_P1_PPU
    * o9 X9 {4 o7 k! E& y" y
  529. JSR $CBC0
    . {- h! t4 y1 p- `- B
  530. JSR RELIFE_NUMBER_P1_PPU0 Q) s6 j% D( Q. [
  531. JSR $CBC07 j4 n$ Z% \6 A% d! s! B
  532. JSR WEAPON_P1_PPU' N3 K4 J# `+ X9 l% I+ ^% ^
  533. JSR $CBC0
    0 _( v& _4 q' c# |  F1 A' W
  534. JSR BULLETPPU_P1_PPU
      p2 n. E! @2 o4 a0 w
  535. JSR $CBC0
    0 ~# y' a! W2 J
  536. RTS
    ' Y6 B8 j0 V2 W2 H0 d( P
  537. 4 Y8 [5 M' ~" h' U9 F
  538. P2_PPU:# Q9 d, T, `. f" _- D& s
  539. JSR PLAYER_02_PPU7 B4 A4 g' O8 f, \: j9 [; R$ K
  540. JSR $CBC0
    . `8 a/ @* c# n
  541. JSR RELIFE_P2_PPU
    / w) o( x- _( [
  542. JSR $CBC05 G, {$ x" a0 q! t$ F& i( u" ~
  543. JSR RELIFE_NUMBER_P2_PPU- R% C* P1 G' J0 d& \# U
  544. JSR $CBC0
    : c6 w* Q- |9 L: _6 Q, y
  545. JSR WEAPON_P2_PPU% x& Y4 s! c) |1 ?9 s6 m. r
  546. JSR $CBC0
    5 L0 F: ?6 @( ?: l
  547. JSR BULLETPPU_P2_PPU  q) S, L  j/ O3 _3 n
  548. JSR $CBC0- k) \+ Y7 U& T$ e) X
  549. RTS
    7 M) `: T3 B; x
  550. , x: L5 K, o8 s3 V0 I

  551. 4 M8 _$ {" w" p2 F7 K1 r+ K! k

  552. ' ~! T. e* ]' d+ D' M
  553. PLAYER_01_ADDR:! K& Z. R3 Q& H+ L" i. C
  554. .BYTE $20,$A3: u7 @) X, G: W$ I' u: p& x
  555. PLAYER_01_DATA:; [4 ^# W& \# i7 |
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND6 x0 D4 i4 W4 V) U* k8 T! ^
  557. PLAYER_01_PPU:
    $ f/ p& V! V( ]" B. D$ t
  558. LDX #$00- C, o3 @( I, i' T+ \% j
  559. LDA PLAYER_01_ADDR
    * X% Q3 Z# {" f) i5 K
  560. STA $0703
    ! n3 M' @, q; J; D: z
  561. INX) Q  B, k& z, M' x, b5 T) d
  562. LDA PLAYER_01_ADDR,X3 o* [% T9 y5 _
  563. STA $0704
    6 v% o( ~9 K; |0 q& _4 ~
  564. JSR PPU_PROCESS6 R5 ?. n6 t- |& o; [5 G/ A# Y- ^
  565. PLAYER_01_W:
    4 w. P# C0 V- y) A
  566. LDA PLAYER_01_DATA,X3 f, N, D, q+ i( R- e5 o
  567. CMP #CEND
    ( x1 D3 h/ x& }7 g7 F% B
  568. BEQ PLAYER_01_START
    ' F3 f0 y- {2 F  p6 Q
  569. STA $0705,X2 F( g: T  F; o$ [7 D7 t+ i& v
  570. INX6 F* C8 w( Q+ \1 i+ ^- h+ Q( V( r
  571. LDA #$007 n6 J: ]  E* X& P  t" d
  572. BEQ PLAYER_01_W
    8 _! G5 |2 B- e, C1 h  W: Q
  573. PLAYER_01_START:2 P2 V+ I3 |$ c* e; l
  574. JSR PPU_START1 W# ?/ }; j6 Q9 P! R" m
  575. RTS% m4 G4 |/ C, ^7 M, L% ~
  576. * ]+ \+ C7 D9 W! ?. R1 r  O, s
  577. ( p  L1 c6 ?- E0 \3 N; X; Q8 A
  578. RELIFE_P1_ADDR:2 ]& [4 F4 k4 ~# q) @
  579. .BYTE $20,$E3
    - O* \# ]  e* {) ~. {8 i
  580. RELIFE_P1_DATA:: C% K0 m8 N) s6 o# J
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND* s" f( [( w# [' [7 b
  582. RELIFE_P1_PPU:
    7 Z5 [- W3 _2 R( J- ?) o
  583. LDX #$00
    0 L0 d5 j+ I5 z, ]& I
  584. LDA RELIFE_P1_ADDR
    ( a+ E! w& m: a# F; \
  585. STA $0703$ t( J2 G( d: l# M3 h: @. n
  586. INX7 p* B9 d! r9 p4 Y0 ?  @  Z) g- F+ _1 g
  587. LDA RELIFE_P1_ADDR,X, ~) z; L8 J1 X2 v& M, k
  588. STA $0704
    2 Y8 I3 ^+ A" @# `, @2 J
  589. JSR PPU_PROCESS8 E3 u  [) i; X) k& n- R; o7 o7 B
  590. RELIFE_P1_W:2 ^2 ]" t) D. i& ~
  591. LDA RELIFE_P1_DATA,X' ]% ~  D* k: U( J
  592. CMP #CEND, v6 O" s8 L& @% V
  593. BEQ RELIFE_P1_START
    9 F3 z7 o+ Z3 }/ @) X5 q
  594. STA $0705,X4 B' |$ s/ C0 b  _# v
  595. INX& l" l5 m- l% l
  596. LDA #$00  s" l3 d/ F) h+ U# C' I
  597. BEQ RELIFE_P1_W
    & ^( }  i# g* a5 d& U! [# y( Z
  598. RELIFE_P1_START:
    7 [) v& B$ U& v& o. f
  599. JSR PPU_START. r- u, Y, N0 s- \  O
  600. RTS( J/ U  O1 {3 @9 v* P

  601. " m$ j, s) p( r$ d, E  F

  602. ( m9 M: {0 a  p! f8 n
  603. RELIFE_NUMBER_P1_ADDR:2 p0 {1 L& L; @" M4 E+ x  K
  604. .BYTE $20,$EA
    8 f8 w8 e0 o) H" H" M( R
  605. RELIFE_NUMBER_P1_PPU:1 [5 R) x. }! n& q; `6 I0 j
  606. LDX #$00
    4 ^( z1 b, N3 Z0 H7 ~+ K( l
  607. LDA RELIFE_NUMBER_P1_ADDR
    3 D1 L5 B, @& d4 n
  608. STA $0703: e$ r$ b: ]  D/ W# ?8 k  B( T9 v3 N4 Z& q
  609. INX  h; t' `, [- b0 m5 z$ M2 G
  610. LDA RELIFE_NUMBER_P1_ADDR,X
    1 l+ M( y( c7 A) I9 J& J
  611. STA $07043 ~  B+ [( \: S6 B; A
  612. JSR PPU_PROCESS
    - \7 l( ?4 ]2 k( o3 m" k
  613. LDA $32+ c6 \* W% K# b; I# l: H& N  Z1 X( C
  614. JSR LIFETODEC
    : F  j/ C  ]( b8 F9 V/ H2 S
  615. RELIFE_NUMBER_P1_W:5 c4 G3 r- m: _! ]4 b# t
  616. LDA $7A03
    3 I0 x' C* Q4 O# \; _$ O
  617. STA $07054 W8 ]/ h7 k3 V1 E
  618. INC $0705
    , ~' D' @0 E6 k1 y7 \- F
  619. LDA $7A043 y# n% n, v- f
  620. STA $0706  ~: e; L* T' s0 E  n, x& @3 J
  621. INC $07065 e, k( O& M0 J  A6 F
  622. LDA $7A05
    ; H% x  S6 W) S6 \9 z" x
  623. STA $0707" f1 X% h/ q2 ?
  624. INC $07071 ?* x) Y, g7 i/ P6 M
  625. LDX #$03
    ( g! v2 I: G% d. y7 U+ K
  626. RELIFE_NUMBER_P1_START:- C7 P1 ^/ K8 f8 f+ ]% `
  627. JSR PPU_START
    1 J" y: q$ x1 \' y
  628. RTS' s' T5 n( e6 Y0 }7 X

  629. 2 q8 L* v) B9 ~1 D7 x+ o' y
  630. WEAPON_P1_ADDR:" w( g- s/ Y+ r
  631. .BYTE $21,$23
    4 w2 K5 [! d. `3 y: y% ]  ~" O0 |
  632. WEAPON_P1_DATA:* E! |; P( h9 z
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND$ i$ [( w( P& n+ R% z: H
  634. WEAPON_P1_PPU:5 I/ T, S5 \# l0 `! w5 g4 D
  635. LDX #$00
    9 R" c1 ~* R3 W! g% S
  636. LDA WEAPON_P1_ADDR
    " s* C4 c, n8 w! [1 q) y
  637. STA $07030 \; h  A9 }7 X0 v4 L1 p
  638. INX' t0 e4 t' o, m" w+ f8 R( z8 Z
  639. LDA WEAPON_P1_ADDR,X
    * \" y5 d! V5 W/ v9 U2 z/ y
  640. STA $0704
    : B4 {% F/ k2 M" e9 E
  641. JSR PPU_PROCESS
    % B/ O- i+ l( a
  642. WEAPON_P1_W:
    " v7 F# ]/ f+ E3 r
  643. LDA WEAPON_P1_DATA,X
    3 }" W# X" [3 ?
  644. CMP #CEND
    7 u- F$ j9 Z* s  [# `7 k- T1 l2 O7 _
  645. BEQ WEAPON_P1_START
    8 z4 i  z+ g3 V6 s3 i# P8 b
  646. STA $0705,X
    # c" l& [4 O& o9 B; N' U
  647. INX
    6 i( J4 Y6 a( o8 P8 U( |8 \
  648. LDA #$001 E, g: C+ n/ ~4 S
  649. BEQ WEAPON_P1_W
    ' ~4 J. I; e8 ^
  650. WEAPON_P1_START:
    , X' w7 D: k2 r6 l; ]* Z- s8 [
  651. JSR PPU_START$ F1 B: h3 v6 }3 H" Y) j
  652. RTS8 _2 \8 X2 I# V, b
  653. . w. o& R: t8 v) a
  654. BULLET_P1_ADDR:
    6 o6 p4 N5 _1 j$ z* H) |
  655. .BYTE $21,$2A0 z& _4 k. d7 M/ b9 t
  656. BULLET_P1_DATA:8 l% o# t/ J/ F& c+ |3 d
  657. .BYTE $00,$01,$02,$03,$04
    ' G/ r. @* e: s5 q% ]
  658. BULLET_P1_NAME:: b. V0 g4 D2 [& P) ~' F
  659. .BYTE CN,CM,CF,CS,CL- a' p$ _. |: N  U1 `

  660. 5 {/ ]- X9 X( b) L1 I. P& v' W
  661. BULLETPPU_P1_PPU:
    " N, k9 H3 V' W, w  n  b; {  l
  662. LDX #$00
    % Z6 V7 @$ c, {4 w9 N+ j
  663. LDA BULLET_P1_ADDR
    1 M5 k( A2 G, _; B; V
  664. STA $0703
    - `- J- _* U' o% C; k
  665. INX* R/ q" z8 ~! o- X- |
  666. LDA BULLET_P1_ADDR,X; O5 ?2 w  ^* C, R
  667. STA $0704
    - Y1 B1 }. _2 r( t. [, P
  668. JSR PPU_PROCESS
    * P0 X$ e% L, P4 i7 g
  669. BULLET_P1_WRITE:2 y* n4 c7 Z3 ]( `: i3 P
  670. LDX #$00
    ' S) W1 \$ p2 k1 B  ~
  671. LDA $AA( K( ]4 D3 q* v
  672. AND #$10
    - L+ P4 W, B' u' r! i0 I0 Q8 p
  673. BEQ C_BULLET_P1: \. i7 N& G) V
  674. LDA #CS! Z- ]/ Q/ e* Q
  675. STA $0705- b# E2 V% n6 j4 f
  676. BNE B_NAME_P1
    . a8 |- {% Y% Q% d+ k! _! H4 h
  677. C_BULLET_P1:
    ) Q0 d, l2 I; s+ i7 A
  678. LDA #CC  V" h; T% q% d7 @4 J( _
  679. STA $0705
    6 S4 ?$ |- `  N  h3 b8 B6 R
  680. B_NAME_P1:
    2 q+ I: c& Y! n% P& g
  681. LDA $AA+ i, F2 s- I  @' I7 I! C' r
  682. AND #$0F
    3 {2 G& l0 G7 Y- f# I) i
  683. CMP BULLET_P1_DATA,X
    0 t" Z1 G& v! g: e$ \+ N, S  T
  684. BNE B_NAME_P1_RECMP
    9 y! f: ]( w  h) D2 j# J
  685. LDA BULLET_P1_NAME,X
    * g' g8 i/ X7 ^) W
  686. STA $0706  A  E) Y+ K9 I/ `
  687. B_NAME_P1_RECMP2 \/ F8 B- P% P0 Z. K$ z- Y9 G- f2 B
  688. INX  O/ m' w3 o/ ~6 _, o
  689. CPX #$05- C" s2 f1 t- z6 U0 n. v: N( j
  690. BCC B_NAME_P1! R$ ^1 _0 P3 b5 g
  691. LDX #$02
    # A5 M9 w" k5 s+ [3 C0 c; `, i% W
  692. JSR PPU_START
    / C" p6 \. q- p0 {. I  [2 z
  693. RTS) W( V+ I; |3 _/ |

  694. - v* [6 q  y& k

  695. 1 [8 v/ i4 {3 K  L; h/ b! @. T: u5 }
  696. PLAYER_02_ADDR:: ?8 k" C+ g# |$ r! s, g
  697. .BYTE $20,$B3
      k# p% T1 H# n. A0 x. _' Z% S3 e3 K
  698. PLAYER_02_DATA:% W% d- [3 |; i6 K, O5 U# w$ x
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    4 ]; ]3 ?* M) O, @/ z3 u
  700. PLAYER_02_PPU:' C5 Z- ~6 N3 w) F  L5 o
  701. LDX #$005 g" B8 S  L- u2 D6 k
  702. LDA PLAYER_02_ADDR9 ^6 S, S% {0 a9 f0 x
  703. STA $0703
    # w' U4 `) S/ s
  704. INX) O9 H- @! M. R5 M: j+ t% _
  705. LDA PLAYER_02_ADDR,X
    & Q6 x" N: k* ]% A0 x
  706. STA $0704
    % ?# ?% h* ^2 q' m, z
  707. JSR PPU_PROCESS
    ) Q) N2 m6 F$ K  ]1 T0 {# ^
  708. PLAYER_02_W:
    2 N, p% W: A% b% c- T# X
  709. LDA PLAYER_02_DATA,X2 V5 K/ e  j' w6 N; t0 L# K
  710. CMP #CEND& K, X  {* {0 @. p8 l
  711. BEQ PLAYER_02_START
    . B& R# G2 R, ~+ N. b- a. j
  712. STA $0705,X
    8 i0 l8 f1 W( L1 \. K
  713. INX7 T7 e) j/ l* N+ T% N2 A
  714. LDA #$00
    ; T% f# S" |" J7 r) `8 M3 Y
  715. BEQ PLAYER_02_W8 _+ o4 ?* W  U; A
  716. PLAYER_02_START:" q7 z$ I+ r: i) Y8 X; M; k
  717. JSR PPU_START
    + q: e6 z% x, G; |* u( l' ?
  718. RTS% Y2 x1 \; G+ L0 \; X) {
  719. . U$ v/ X( h6 j2 a. D0 a
  720. 0 Y2 V' t% }; P% _3 l/ s
  721. RELIFE_P2_ADDR:
    # e$ w& b/ K) R8 C6 P1 v
  722. .BYTE $20,$F39 J7 c' `; }& m8 a4 {- f% `/ \: A
  723. RELIFE_P2_DATA:1 u' L: k; ?* M( Z% \
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    1 ^8 k; [4 V6 r# b# K. H
  725. RELIFE_P2_PPU:  `! v+ e1 `& d- g5 G
  726. LDX #$00# Z4 j9 l/ T1 D, A3 J# \
  727. LDA RELIFE_P2_ADDR/ b% E# b5 ^9 V
  728. STA $0703
    8 \! ]  t3 i9 H% t/ ^
  729. INX
    # n0 U( n! z8 n0 y" z2 m
  730. LDA RELIFE_P2_ADDR,X
    " ]: c% ~# V0 b* o( Y" L
  731. STA $0704
    " \- K9 w6 U+ t6 m
  732. JSR PPU_PROCESS  w, i6 Q3 D- T3 j0 ^1 @! H9 Q
  733. RELIFE_P2_W:, m) n2 @* k/ @, d6 j# f
  734. LDA RELIFE_P2_DATA,X( {6 |9 r& i9 l$ A
  735. CMP #CEND
    , j- `- h! Y, b1 m* v6 \
  736. BEQ RELIFE_P2_START* U2 `' I+ Z, G) O# \0 g0 j4 m
  737. STA $0705,X0 S8 T! [$ B4 Y+ E  s$ _
  738. INX6 N9 q3 M& J% f
  739. LDA #$00
    2 N; o( |9 D3 [( O
  740. BEQ RELIFE_P2_W
    & K& t! M8 ?* ^$ m
  741. RELIFE_P2_START:
    . C( t/ \! C2 s. A
  742. JSR PPU_START
    . u$ I8 x$ `6 |/ }
  743. RTS  x% X4 c: {3 {

  744. ( N, m3 |. j( e. g

  745. & s1 A- l; h5 x- d; W
  746. RELIFE_NUMBER_P2_ADDR:
    9 {" g7 L$ S# d  b
  747. .BYTE $20,$FA; H! h7 Y$ H- P2 K& v4 D' p
  748. RELIFE_NUMBER_P2_PPU:7 U0 H( U8 G; ], y8 ^3 `* L
  749. LDX #$00
      ]& c) V* R! |& K
  750. LDA RELIFE_NUMBER_P2_ADDR
    0 B8 s2 K% i0 O. O# X) Y
  751. STA $0703
    5 l. q8 p6 W2 p4 Y' J( {
  752. INX
    % I; D* T& g1 U1 H% P
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    2 T- v! Y2 B& d* h0 r
  754. STA $0704
    # x$ E/ @9 e0 W" y4 P2 {
  755. JSR PPU_PROCESS2 p! B0 H3 x: R$ j6 ~; M+ H
  756. LDA $338 K6 i' Y: R! ~6 i5 X
  757. JSR LIFETODEC9 v3 h( b7 ]& V. ~& j/ b* \
  758. RELIFE_NUMBER_P2_W:2 f$ s/ J$ j( A6 B9 S1 v
  759. LDA $7A03
    : r0 V! k, L& w* P9 p! }' s
  760. STA $0705
      ^# Q" f1 M& u* k5 t
  761. INC $0705
    - f* B- V8 r/ R( }
  762. LDA $7A049 x8 B# D8 @9 P. e" y
  763. STA $07065 ^- j0 b9 G: m) j
  764. INC $0706/ E: I2 B+ q! Y2 I0 C% k
  765. LDA $7A050 M3 ]$ y( E1 X' k
  766. STA $0707
    0 G6 }& Z2 }: o8 h' q# Y& J
  767. INC $0707
    0 R" B3 V. _; g  E
  768. LDX #$03
    9 i+ h& c1 N6 d% I1 l0 V
  769. RELIFE_NUMBER_P2_START:' ?# ?* Y8 M4 [
  770. JSR PPU_START
    ' o/ R* ?( j: Z% B9 G
  771. RTS! R' v" U  e0 w. D! y

  772. 3 }) l, K+ M  y  {
  773. WEAPON_P2_ADDR:1 Z1 @* ^# {4 \% G0 |
  774. .BYTE $21,$33
    5 a. f0 y- a% V( \
  775. WEAPON_P2_DATA:& r' i* v  C+ ^6 z
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND$ {3 Y9 V5 E- g& |& u3 e0 [
  777. WEAPON_P2_PPU:$ i: C, g2 s( y8 z6 n1 f# c' k
  778. LDX #$00
    , @! {* S. E; {* e; g+ Z! C
  779. LDA WEAPON_P2_ADDR
    % Y9 n# A7 X0 j+ b& r& `4 p
  780. STA $0703
    # d9 ]$ i. O/ ~9 B) M9 E& e
  781. INX0 O8 J! T4 a+ M* x, P5 s
  782. LDA WEAPON_P2_ADDR,X
    5 o9 Y8 |7 _6 e5 h8 z
  783. STA $0704
    9 x4 B, s. p3 q
  784. JSR PPU_PROCESS
    2 ?% M$ O% K1 K: s) L
  785. WEAPON_P2_W:9 h6 V* r( e' S) |( q; Y
  786. LDA WEAPON_P2_DATA,X
      A7 H' N( }5 j( i' d' b
  787. CMP #CEND
    ) @2 D$ h& h" B! z9 o5 x* @
  788. BEQ WEAPON_P2_START
    : O+ X6 y& L; W& o, l
  789. STA $0705,X
    ) i0 v* ^4 L- B' a$ L
  790. INX, S  |7 E& F$ r" O& q+ R8 Y' N' j
  791. LDA #$00
    % N, E; _% a" z) S( H
  792. BEQ WEAPON_P2_W
    + Z/ [% o! I& `& V
  793. WEAPON_P2_START:; E$ Y% ?6 {2 B) D
  794. JSR PPU_START0 o* G4 ]; k& |
  795. RTS
    2 K: j* {* F0 A7 l. r+ s7 M, f/ w
  796. - j8 d9 ?6 N- f
  797. BULLET_P2_ADDR:
      {& {  `* [- ^2 ]& {
  798. .BYTE $21,$3A3 m& {6 B  Y( |8 k, F$ \
  799. BULLET_P2_DATA:9 q* @3 x8 ], Y+ u9 y' q
  800. .BYTE $00,$01,$02,$03,$040 j! ?$ z& s% }. W1 n& J
  801. BULLET_P2_NAME:* a$ e5 @: \- x) T% G% M/ [+ i
  802. .BYTE CN,CM,CF,CS,CL
    " m2 m7 x- N7 S# K2 L" k. n
  803. % m1 c" v! @. _
  804. BULLETPPU_P2_PPU:# R5 X' W7 i% {; |' n% G
  805. LDX #$00
    * W# [& C7 `8 \
  806. LDA BULLET_P2_ADDR
    4 c+ l& c: H. G0 P; A% j1 O
  807. STA $0703# _" N' }3 c- U0 d
  808. INX3 j2 H# Q; q: ~$ A! y5 ]
  809. LDA BULLET_P2_ADDR,X! s1 `0 j- ~! H, v! F
  810. STA $0704
    + ]0 z+ L) v: X$ h* \
  811. JSR PPU_PROCESS8 ~/ g% y3 ^- R3 ~7 j9 c
  812. BULLET_P2_WRITE:
    , v" Y3 @4 S- \5 ?2 M0 o
  813. LDX #$00
    , @& C, n; l0 w" _
  814. LDA $AA
    9 F2 S4 G# C# [7 u& f: |, `8 b
  815. AND #$10
    % d9 `5 D4 x; a
  816. BEQ C_BULLET_P2
    5 I% h5 o1 x- H7 j0 U6 d) k& e
  817. LDA #CS2 i1 p0 N8 f3 [* w2 k5 o  a
  818. STA $0705
    7 t: g- ~* `7 M* F/ b
  819. BNE B_NAME_P28 O% E" T$ S1 s
  820. C_BULLET_P2:( X$ f+ ~* j2 [: S; o+ k6 T
  821. LDA #CC
    0 F) M9 \# w0 T# _# [
  822. STA $0705* o- m% ~7 Q( f" \! U
  823. B_NAME_P2:
    ; [( P: C) S" S8 g4 [4 b. H4 r
  824. LDA $AB
    4 c0 L; E( a* c  q* t% M: |
  825. AND #$0F2 e2 n1 K/ S* G% y% y  x
  826. CMP BULLET_P2_DATA,X
    * P' d* s" h7 ^2 o
  827. BNE B_NAME_P2_RECMP
    2 _' ^- t0 o% L* H! f7 y6 |* o* a
  828. LDA BULLET_P2_NAME,X
    + w6 q2 w. d1 F9 w
  829. STA $0706
    6 }9 ?% B" R9 u6 v2 Z" ^/ f& r. T
  830. B_NAME_P2_RECMP& f* j! D' K7 |+ V4 [
  831. INX
    3 ^& U% ^$ `: w; b9 T( c2 q! v
  832. CPX #$05# h& t* s+ L5 t7 y% S; H
  833. BCC B_NAME_P22 j8 F( E% K# m5 J$ \/ s% d
  834. LDX #$02
    0 r/ F& Y6 |9 P3 t* B3 r; |
  835. JSR PPU_START
      Q, Q' i7 N& s4 j) u! H  d
  836. RTS2 n+ k) e3 z- r/ t6 ^
  837. $ F+ u& N! o4 L2 ~

  838. 6 [5 [4 E0 i, I4 w) R  u' P

  839. , X2 y8 p0 n9 j# x! T! X4 p

  840. % i# w' ^# [; v( o
  841. ; z+ X9 W4 V4 n( @! }( v: q

  842. $ S9 H6 m9 h) t+ ^4 {/ p- l2 ^
  843. LIFETODEC:                ;十进制转换4 [" ~: k" E7 E; y1 j, ]. U
  844. LIFEL1:        ;initialise
    " H. K( f; G# ?8 c% r  y
  845. STA $7A00        ;$7A00=F3
    2 l5 a$ C9 b/ ~; Z8 v
  846. LDA #$00- I" w  W1 z: S2 K
  847. STA $7A03        ;$7A03=00
    7 O/ ~$ B1 k. ~- p) u6 ?
  848. STA $7A04        ;$7A04=00
    & C! A9 H" J( a- N7 P* ^  b
  849. STA $7A05        ;$7A05=00
    7 \1 j* z# n! v9 ^( b8 g9 G$ d
  850. LIFEL2:        ;copy data $7A00 to 6001
    ; H4 J. ^! j! n! Y4 Z& ^
  851. LDA $7A00
    $ S2 b3 K2 C: q6 A8 H
  852. STA $7A01; r: v/ U( Q& ^6 {1 c2 n* h. `& f

  853. $ H3 p5 @* k3 [. E
  854. LIFEL3:         ;hundred9 |/ U% `% ?, h" p" v
  855. LDA $7A01) j0 k2 F: }1 c
  856. CMP #$647 @! X& e4 \6 W& F5 \* H- ^: C. d
  857. BCC LIFEL6                ;$7A01<100 goto L6
    : T5 E0 W7 h( h% R* i5 F
  858. LIFEL4:
    6 g0 M6 c$ }/ p' a/ s& a8 ?0 p
  859. LDA $7A01
    6 s( p$ L8 o0 W* P1 c/ U
  860. SEC' i: i; K5 \* N% L3 R
  861. SBC #$64        ;$7A01=$7A01-100
    8 \3 c* e0 O0 ?( |7 _! l
  862. STA $7A01: K7 y! {, P9 z3 [
  863. INC $7A03        ;hundred++. o7 _9 J1 U0 g# z* S: P
  864. LIFEL5:
    . I' @' D- q/ c- |3 O! j0 v
  865. LDA $7A01/ t/ r: u, y8 X8 L6 n6 {
  866. CMP #$643 P# ^* I4 ]$ {
  867. BCS LIFEL4                ;$7A01>100 goto L4  o& z* [# `" }+ x' e  L+ J9 G
  868. ' |: a& f0 S' p* ]; o
  869. LIFEL6:        ;decade& q: Q5 _: p$ n% _
  870. LDA $7A01: _3 g% j/ [4 u8 I4 s6 \* q
  871. CMP #$0A
    / P' B& i2 @0 {) q% U* o2 p
  872. BCC LIFEL9                ;$7A01<10 goto L9
    6 u3 h  [% E$ G, a- O- c; j1 T
  873. LIFEL7:       
    0 z* a9 O2 ~% o4 _, c
  874. LDA $7A01
    . K2 x2 H3 a( s" C1 \6 X- o- G- A
  875. SEC
    ) d- h' y) ?6 ?, K' N
  876. SBC #$0A* v3 \9 {1 f: ?% w
  877. STA $7A01        ;$7A01=$7A01-10" g9 ^/ t- F( V, ?
  878. INC $7A04        ;decade++
    . B5 m% C" v& V4 M  ~; E
  879. LIFEL8:. @6 u. e, M3 h
  880. LDA $7A015 v( e  Q6 o0 p' m. F7 k
  881. CMP #$0A
    / E5 p5 S4 }4 U: O. O+ W7 @# [, T; N
  882. BCS LIFEL7                ;$7A01>10 goto L7
    7 t( b, E' R+ ^# c" Q" k: M' T. a! ^
  883. ;unit- d/ v) }1 K9 o- a
  884. LIFEL9:$ @8 {9 Z, L& W6 A% Q; I0 D, u$ W
  885. LDA $7A01        ;$7A05=$7A01
    # C; a' L5 v, x4 a- z
  886. STA $7A05        ;unit
    & A9 ~! B) ~, u5 ~! @
  887. RTS        ;return
    % w2 U; ]) M5 u; I% ]9 Q

  888. # Q  P3 r" `2 t( I  P! E

  889. / ]/ F' d  T3 N$ p4 {- Z

  890. 0 t9 T8 h' k& q) c3 z8 p* B+ D
  891. PPU_PROCESS: ;PPU地址处理程序
    , d2 m* l) K$ |; p! ?- @+ D' s
  892. LDX #$004 Q# P) m  }8 }: \
  893. LDA $FF' C7 q+ T' x' X; Q# v
  894. AND #$01
    7 q, }+ O2 o$ _0 j3 h& O: M
  895. BNE PPU_2400_27C0$ n, R$ V, J: N9 V; Q9 Z
  896. PPU_2000_23C0: ;命名表1
    & T9 h) ?* {8 V5 g& f' h
  897. LDA $0703, ^2 ^" K8 S5 Z
  898. AND #$FB
    " }" m( W* U5 V) U
  899. STA $07039 x6 Y' i- r" N- r: k
  900. RTS
    * a! |; G1 `. w+ v8 A1 z
  901. PPU_2400_27C0: ;命名表2
    7 A- s: d' f/ ]! o5 z
  902. LDA $0703
    ) N) m" B+ y0 J+ k+ p
  903. ORA #$048 A  i) v7 g9 h6 K( I7 L  w1 ^! H
  904. STA $0703
    " @. L, u1 G' b
  905. RTS
    " x. X7 x) S7 {: a2 X3 o

  906. 0 h( Y0 l- s$ x; l+ _' I9 i
  907. PPU_START:  ;PPU数据写入
    8 }1 d1 Q" j* w; a8 @  d7 D) Z
  908. STA $211 |- U" r1 n+ J4 L* m
  909. STX $0701
    , M& {3 h! \' X: D7 \7 `$ u
  910. LDA #$00
    + F, B" _1 k7 E! c3 l9 v1 E5 ]
  911. STA $0705,X
    2 {( W# @$ j4 T
  912. LDA #$01
    : I$ ]9 q+ N/ ~1 j2 H+ V
  913. STA $0700
    , ~2 C1 f# }- k. y' T1 M. `
  914. STA $0702* O8 l* b* r8 G6 q
  915. RTS
    9 O- o8 W6 v/ x  j, ]
  916. 4 d: n: n; B0 a3 e' |; x3 v0 N( d

  917. $ |5 v/ s2 B! g" N. h" l& A

  918. , k: V* u3 _9 s: U, N
  919. 3 r( ]+ s- d* C/ j) [! [
  920. ; O5 V' {! B- M+ M) V9 f. J

  921. $ U) T) F$ q) N. U" d2 m7 Y( o  {
复制代码
! o+ s% s) s& h

本帖子中包含更多资源

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

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

签到天数: 2298 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!8 b$ F. O% n  a7 d* C9 A# f

签到天数: 2573 天

[LV.Master]伴坛终老

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

签到天数: 26 天

[LV.4]偶尔看看III

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

签到天数: 2060 天

[LV.Master]伴坛终老

发表于 2017-2-16 22:58:37 | 显示全部楼层
看不懂啊。。。。。
[发帖际遇]: liujunbtx 发帖时在路边捡到 1 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-18 13:04 , Processed in 1.154297 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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