EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    1 Y, N! |  V) T' w! {9 p* H/ b
  2. 作者:FlameCyclone2 b9 m0 {+ d& x( O. y; l6 K
  3. 时间:2017.2.12
    : c% \: y, t8 s$ g& R
  4. 9 x1 g, N+ S' m0 d( L) z
  5. 按键跳转:
    / |, a( n$ U) k5 p3 K
  6.         C1EF:95 F5 94 F1+ H6 X) T  r, a2 Y6 V) k( C0 ^
  7.         C1EF:20 70 FB EA5 d8 R4 A- c6 T6 W0 Y# P* _
  8.   X4 e6 o1 }" e! p  q
  9. 滚动偏移:6 ^# ^0 G* E4 s: }
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 203 M$ |0 l5 y1 g7 O* r+ V' [
  11.         F936:20 C0 FB EA EA EA EA EA EA EA$ j1 a2 p  ^! d( Q. y- B
  12. ' y; j+ t9 A: t0 u9 J/ T/ C# M
  13. 背景调色板:
    & c* X& q* P; Q3 s; N" \
  14.         CF20:9D C0 074 I, s; u) s' L/ c. q+ C+ C5 W
  15.         CF20:20 A0 FB6 j0 D1 ^9 z, I, t$ I

  16.   d5 T: H/ z! @; T% d1 O& B- N) f
  17. PPU BANK号:+ ]/ k9 G8 \3 j" Q0 I
  18.         C8C9:9D F4 07
    & `$ p0 i6 A2 X7 p. Z
  19.         C8C9:20 B0 FB
    ! {7 l* L3 [$ t9 m) P

  20. . W* U( @5 V. o9 k
  21. 按键跳转:3 A# ~5 i, y8 Z3 }8 Q* }  q
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    1 R' u- _: X# `1 b' W9 w1 @
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20* R6 B; f# K, \1 l. E0 M0 k( n
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF
    " j; r3 [* O9 @5 t4 Z
  25. + n9 M) g: M  L2 z) d4 J
  26. 背景调色板:, S+ j1 z7 j/ z. ?
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF
    6 a3 Y; z$ Y/ m" x- J

  28. 5 ?; k5 C, \1 J" z; \: D% U! Z
  29. PPU BANK号:
    * j3 b3 V* x2 v+ g
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF3 V. k/ l1 X* M' Y: q% B
  31. ! ]  \6 t+ e+ l8 I/ }8 j, |* E' ]8 S( P
  32. 滚动偏移:9 ^8 c2 D' T  [
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60* [# ^) B. {9 U. k
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF9 S9 p7 p! @8 K- l; o

  35. 5 o% W) k2 G# C, A

  36. ! c8 {1 P, U. V5 @1 P
  37. 切BANK后A000:. [% \0 K1 b/ u3 G  Q
  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
    0 c! k( ^! ~* A8 K  A2 ^
  39. 8 g8 G  h, ?& ]3 q5 T- A. X/ z2 B0 @5 c

  40. " a$ z" |6 R  L! s6 f: D5 F
  41. 6502 simulator:7 Z  @$ ]7 H5 @7 t
  42. PPU写入程序:0 K' H) R. q3 k# Z7 A  S
  43. .ORG $A0004 W3 w3 l# R+ C' j9 W5 C5 P1 L7 R
  44. CSP = $80
      M. v: @) s- k6 T
  45. C0 = $818 G+ T2 s6 g6 {6 O$ o# f2 I
  46. C1 = $824 F7 [3 n# p# K
  47. C2 = $83
    $ D  R; M( w/ W
  48. C3 = $84
    , j; |9 l0 R1 M$ g& y' f
  49. C4 = $855 x9 U9 L$ O' `+ `6 w
  50. C5 = $86$ ?* M3 a9 o& @) q8 |
  51. C6 = $87
    " g! U% n5 n0 F: S; n
  52. C7 = $88; f/ s: k0 x. \5 H* z& u* J
  53. C8 = $89
    4 W& o* b- H7 W
  54. C9 = $8A
    5 t+ H( `( w. {  K  Y
  55. CA = $8B
    $ s! C2 G. ^- _6 P' n; J& P
  56. CB = $8C
    & o# {1 C: x2 S: Y7 H  C) q
  57. CC = $8D
    1 ^( o; B3 K+ A0 [
  58. CD = $8E
    : n# `" P/ g. \0 R3 R
  59. CE = $8F
    + x* B5 D* l: j3 P- S2 i
  60. CF = $90, F- f& j2 K2 g
  61. CG = $91# ~, p( @+ P1 A4 G5 g( m
  62. CH = $926 z8 a' ~3 z+ B% L
  63. CI = $93
    ( o3 `, r$ ^$ R2 `: w
  64. CJ = $94: l+ j4 D1 S: u/ N- ~, s2 r8 S
  65. CK = $959 [8 U0 A, t/ s+ ~4 A3 w5 s
  66. CL = $96# I8 _. y6 m$ q7 n5 `9 W0 G
  67. CM = $97
    9 m* _, r4 t" E, J0 Y. ~
  68. CN = $98
    - ]. W! I) Y; @8 t$ `1 _" K$ [
  69. CO = $99: }" X0 J. P, V; Q4 `" m( M5 {+ R# I2 Q
  70. CP = $9A0 G: V5 ?6 V5 `7 N
  71. CQ = $9B
    + D4 e; \2 ?+ l' |" L
  72. CR = $9C
    # L* }3 u0 |& b- ~! T
  73. CS = $9D2 ~9 ?- Y/ j8 s. Q: K( q( T
  74. CT = $9E
    7 O& P9 k3 v- l5 [7 ^, K
  75. CU = $9F
    ( e4 o. Z6 A4 u8 g: f8 e3 ]
  76. CV = $A0. I- f8 Z' t, q( C. l
  77. CW = $A1
    8 }0 t+ y4 m6 s. W5 f9 Z: I
  78. CX = $A2
    5 P, V/ M2 x, F" @* [' R2 ^
  79. CY = $A3
    ' q( T4 C# L4 ^- x" {, l
  80. CZ = $A4# I7 d2 T4 r3 ~5 `) W" X: E
  81. CEND = $FF9 s7 i* \3 y, U) h

  82. ) T- \1 v0 f" {& A9 |+ a8 x

  83. 3 c. E( O. m% R
  84. CMP_RE:
    0 E/ w2 e: X  e2 Z5 ~* N. f
  85. LDA $FF  U! z6 \' d7 l/ Q5 v4 y9 f: n7 Z
  86. AND #$7F9 G6 G% w/ u  d& x/ ^6 r3 e7 a' i0 B
  87. STA $2000  W! ~5 ]5 p4 l$ }0 j
  88. LDA $2002
    * b# N! |% Y5 V" F
  89. LDA $25
    1 I0 c6 _2 ?# [
  90. CMP #$01
    ; E( z; W3 k: N
  91. BNE PROREG
    0 G! O! Q2 F7 \
  92. LDA $F5,X
    . {) W! C0 ?" L
  93. AND #$CF/ G5 ~; B# ~3 m5 Z8 T6 O6 M
  94. BEQ PROREG
    4 e5 o' j" F1 e# x. s+ \. d7 s* e
  95. JSR PPU_CMP
    $ w8 H- v7 V1 K
  96. C_RE:
    " O5 y* X3 f. q9 h  z1 R$ Z9 f
  97. RTS; n! ]+ t9 G4 d! o0 P. j: {- Y/ C
  98. PROREG:9 A6 _  ]% K  s. m' N0 S
  99. PHA1 C% E4 A5 j) C6 L6 O
  100. TXA
      W- }* s: \. X) y6 ]' N" ^$ X* s
  101. PHA
    " P7 T9 ~. v9 B, Y$ U1 P
  102. TYA
    ( D9 `4 g4 F- i0 f4 d9 \& K& k5 h  f4 v
  103. PHA: T' c( T# W. K
  104. LDA $25
    . u5 N  G) z7 c  y
  105. CMP #$012 H6 P1 [, z. \$ n& ?. Z* }
  106. BNE RE
    3 A1 V& j6 \6 [6 [0 y
  107. LDA $010A
    $ [  j1 E2 e2 [( l1 X* J
  108. CMP #$00
    4 e8 i; v, j% a+ B% C& y
  109. BEQ P1
    $ }8 M3 _  m( F+ Y5 G+ B. O
  110. * H. |) e0 d3 i$ \7 j* D& S+ o
  111. RE:: Z9 f3 i& Y7 V0 T
  112. JMP PPUWRITE- [- h! t9 x4 u9 T( o
  113. " R# Y  e' c# Z+ O
  114. P1:                ; 条件判断
    8 Z- e% i0 N9 }; M3 V2 M8 I- @
  115. LDA $7FFF3 c9 Z2 r5 O: j- [: C- B- ]
  116. CMP #$FF
    5 g. I1 N' M# n2 X2 k& |
  117. BNE P1RP0 Y% f# f1 Q0 Z, y$ N9 I$ _! l3 T
  118. LDA $7FA04 o' H0 [( S5 {# \3 Y0 a
  119. CMP #$00  J. a' J' x* D
  120. BNE P1CMP
    . o9 s2 x- x0 ^4 N3 M
  121. LDA #$FF3 S  Y; t1 K/ }3 E7 ^0 j; Q: g
  122. STA $7FA02 v7 M# I" `8 M* T1 U# w! e
  123. JSR CLEANA7 D* f5 J, c8 m' l  D7 H
  124. JMP PPUWRITE
    7 C. X/ s) d, k" }4 p& e
  125. P1CMP:6 J( P' F' z: z" u. A3 k! @; Y7 D
  126. LDA $7FFF7 e: A1 F" d" h# R) d
  127. CMP #$00( p4 R' d" C- ~% g- }
  128. BNE RE" c- l, [7 c0 N) ~2 C* E5 L: {' c
  129. P1RP:% _/ b5 a6 u( ]' f5 ]
  130. LDA $2002; u7 O0 h& ~7 p) ^2 X
  131. LDA #$00& ]7 m' L( r) ^! o* q
  132. STA $2001
    3 N! M  f! H( z
  133. LDX #$00
    + G5 v+ c) M7 t* N
  134. LDA #$FF6 C* ?# j1 K! H
  135. STA $7FFF
    * V4 d2 B: j. r) q( |$ A
  136. STA $7FA0
    : o4 @+ n9 U4 V! q" g
  137. JSR COPYPPU
    ( M. Q5 D: d, n8 @; h! F0 F
  138. PIRP2:5 M1 x. E* o7 H
  139. JSR CLEANA
    ' w$ x# L- @* {: Q1 ~5 L3 c; N
  140. JMP PPUWRITE. ?# D# H0 J5 p4 Z! K+ t  g. f

  141. . n$ e9 S& P) O
  142. COPYPPU:+ A4 C8 ^2 y5 m: d, U
  143. LDA $FE
    ! D  n  G) C5 C6 j' d. l
  144. STA $7F50: S5 S, M% Y1 h0 d& q9 [0 Y
  145. LDA #$08
    : K  Q, J9 V3 U( d! {% g
  146. STA $FE
    4 ^0 s4 K/ A' Q, p0 c6 G& Z" W
  147. L0:
    4 m( s9 I! Q# H8 _2 h  H
  148. LDX #$00
    - z) a/ A+ c- k
  149. COPY_07C0_07DF:, H7 l0 o/ w5 s3 I; |$ e
  150. LDA $07C0,X/ n! Q  H7 J- I! f7 U
  151. STA $7F00,X
    : ?( t% y) l3 R0 I; u
  152. INX4 w% w* n7 m4 P+ t5 T" [  S' }, j
  153. CPX #$40
    - r! U$ \: y/ ]' b: a( R" k
  154. BCC COPY_07C0_07DF
    : ?0 a0 u/ e6 a2 O% D5 T! ^5 U9 u
  155. LDX #$00! p% K; Y4 Z& @6 b/ W1 ^$ K
  156. PPU_07F4_07F7:
    8 X! W% x! h, w! o  |
  157. LDA #$00$ j% U9 S  p2 o  c* w
  158. STA $07F4,X# T1 W8 g) C7 p3 O8 S
  159. INX, f6 D# W* Y5 _5 S- W/ f
  160. CPX #$04# u) z# m& V+ a& o4 D
  161. BCC PPU_07F4_07F7' U# }$ H4 z; I+ C3 `" Y
  162. LDX #$00
    9 u0 h, Z9 W5 y* r
  163. COLOR:: J7 a, }5 ]! n2 I7 z
  164. LDA COLOR_DATA,X
    $ X( [' v) x: C# o
  165. STA $07C0,X
    5 f! g0 j5 \' i: ^! `# ]. n. k
  166. INX) F- T- h$ W; r; Q5 n* i3 Y$ L3 C
  167. CPX #$10
    , s  f& w& R( ~# p7 ]  w
  168. BCC COLOR
    : r, ?# d2 l- I* r3 P% B5 g

  169. " J* j, ], V- r8 N1 ?2 w' n
  170. PPU_COLOR:/ T" ]- S) `7 A1 J% z$ G
  171. LDA #$3F
    / k( r8 C; k4 T
  172. STA $20066 K% Q; r+ F/ `% j7 }' R/ D( w
  173. LDA #$00  A1 M) Z8 O* z/ q4 R5 Q
  174. STA $2006
    / e1 g" F! U; |7 P' [
  175. LDX #$00. N% t1 G3 l! N0 V7 d9 ]
  176. PPU_COLOR_W:5 e- h3 d  R' F$ X" R, w0 Z% Q+ B
  177. LDA COLOR_DATA,X; D; ^5 J# Z' y( ?- O: K! o( l( S
  178. STA $2007( L9 B* o' d1 m) V  G
  179. INX
    ) {% d7 ~0 t" B4 l/ ^( l! W, E# t" m+ D
  180. CPX #$10$ q6 H  T$ t4 C) m/ q2 F
  181. BCC PPU_COLOR_W+ N' t* t/ Y  e2 U9 h" ^

  182. 3 R: g$ v" p* k
  183. . X$ c& `9 A) |: q4 X$ v0 V5 ]
  184. LDX #$003 ^; q1 _* q$ |5 a  n3 }- S; p% i
  185. LDY #$00
    & e+ u3 q  _. J$ C7 f* o( u: d' D& K
  186. LDA $BD
    : Q' }# V1 n6 U7 K
  187. PHA& p+ {" ~2 s+ ]2 A) j
  188. LDA $BC
    5 w- V! G  g/ w" ]+ b9 `  c
  189. PHA
    # L1 ~$ @3 ~1 j
  190. LDA $BB
    # g7 k# [; N$ f3 n. D9 c
  191. PHA. M& m% N4 Q, z
  192. LDA $BA
    3 }2 z. y, M' H# S4 H# a
  193. PHA
    # V9 J1 c& B; g: s
  194. LDA $B9# q( R) t/ M" M) _: R) _& Z, K
  195. PHA+ c9 D% v. v( [/ K% W
  196. LDA $B8
    , F- Z$ b4 g% J3 P# B
  197. PHA
    ) e4 t7 p9 e) A# h+ d# ~
  198. LDA #$00; D! T" m" M: U
  199. STA $B8
    & ^; l, X% u5 P3 h$ Y
  200. STA $B9
    # |! `/ ~7 Q, b5 Y! d# G* _
  201. STA $BA
    ; M" l; N' h& Z6 w6 V& j: t8 N3 a0 j
  202. STA $BB
    / [- R1 U4 v$ ]. Q7 D! ^
  203. STA $BC
    4 X4 `" v0 ^; O' @6 q+ p7 C  O
  204. STA $BD
    ; {" n  J; Q2 c, z
  205. LDA #$004 w  G# a: s1 X/ E: m
  206. STA $BA6 t' [6 f, W* z& c* W5 H
  207. LDA #$20
    ! V% |  j( b- C7 z" v5 n0 _
  208. STA $BB
    8 `& Y1 s- _  }0 n
  209. LDA #$00
    7 U; g* t6 u! w- p
  210. STA $BC
    0 c& Q" X" v. N4 W# q, v2 t
  211. LDA #$605 d: V  `0 G- N' Y$ W( D
  212. STA $BD; a8 m; L% j' X8 Z

  213. ) I; o; K. i3 U+ V
  214. L1:                ; PPU复制
    4 L1 s$ M" a3 K( u3 o2 ?
  215. LDA $BB
    " ]- f6 m" ^8 `0 I
  216. CMP #$28
    * j; g2 E& @! I, L2 H, s
  217. BNE L2
    ; u5 |  L  O2 V5 D1 i
  218. LDA $BA; T5 f* `' ^. p
  219. CMP #$00! t* ]/ x/ C) x" O- O+ q5 p
  220. BEQ PROADPLA
    - u/ f0 @7 N5 M

  221. : \' k/ r# i; Y  ^
  222. L2:3 O+ n2 }$ J+ G& i: f2 c" Q3 F
  223. LDA $BB' X8 h. E* {& Y' q
  224. STA $20061 Z3 L/ ^: b0 `1 y
  225. LDA $BA7 l1 B1 N  y& }; B2 k8 n
  226. STA $2006  h7 M: f+ D. c3 @! A" H8 N/ G
  227. " j  S# e; y) z" o, e' A
  228. L3:9 h0 L4 j* g) J7 P0 T* e; ?8 n
  229. LDA $2007
    2 Z  O: v# f7 V3 P
  230. LDA $2007
    % E* B7 Q) @" f: f" [
  231. STA ($BC),Y
    $ R' L! v2 t' u1 o- J) x

  232. 1 }+ [" O* {3 h  ?* |2 k
  233. L4:
    7 N* A8 o1 K: {/ _: n
  234. LDA #$00: X0 A: q* f2 r
  235. STA $20008 Q$ s$ W. o& b
  236. INX* `. O  M* ]; M1 c) H6 w! U& h; n
  237. INC $BA# [  E8 Y/ h) k, {; ^. f8 E3 Z
  238. INC $BC
    0 f6 w0 d) u  [5 P  z
  239. CPX #$00
    : M9 _* e' J) x
  240. BNE L1
    ; S7 @. \' E4 k  z* S
  241. INC $BB- s5 J4 p+ }+ s* f$ N& M
  242. INC $BD
    , r; a: t; F/ j% t9 n+ P' _5 n
  243. JMP L1
    # u$ @$ o! K* D/ `% T
  244. 0 ?" D5 r. w1 R) \2 Y+ `
  245. PROADPLA:                ;出栈3 S! _. [" ~& a* a
  246. PLA
    * Y& y) N7 ^/ C3 ~
  247. STA $B8
      C: Y! V4 f. y% y, A
  248. PLA
    ( e+ B, `+ a+ |6 X
  249. STA $B9
    / U3 h: s. c; S( J- }
  250. PLA) M2 C  [9 x8 B  I5 W8 U
  251. STA $BA
    2 q# T, H( |) i* r2 h4 n& T4 ?
  252. PLA3 M3 H& g( a+ X! X
  253. STA $BB" h$ I& {7 i$ ]9 b. S) o4 R
  254. PLA6 {! n0 s, f, J
  255. STA $BC
    , K5 \4 n% q: ~$ U% T
  256. PLA; R5 Y3 A' ]2 ~! L# R' z3 f; Z& X
  257. STA $BD
    - j2 M- R% J- r& v2 o- L
  258. CPRE:
    % n5 v% I' |& I) h$ B1 [
  259. RTS9 R- w) y6 b) S) H3 |' ]% e

  260. 7 ?( O( i) D) R6 Z5 O
  261. CLEANA:                ; PPU清空+ Y, _9 F* g1 }$ o. C4 f- F% F! R& G4 a
  262. LDA $BD, p' g! d9 r4 y! g
  263. PHA
    $ B# s: f; b* k% q: `1 U- ?  n% s8 ?
  264. LDA $BC
    6 f7 M& e! p' H6 G# w5 i# N
  265. PHA
    ' @4 k2 i& {1 T# W$ M3 n6 V
  266. LDA $BB
    6 @7 Z% s* o/ C! o9 S: r/ [
  267. PHA3 C  G& O+ J6 ?/ T: Q
  268. LDA $BA
    1 j5 W6 @- y7 U% ?2 x$ E
  269. PHA
    + D; J' h$ u7 O8 M5 w
  270. LDA $B9
    ' q8 X" w. l9 \1 _1 A, W0 g! y
  271. PHA
    ! y! M1 t4 U$ E  I, k* l+ C
  272. LDA $B8
    7 X/ s/ U# l4 l
  273. PHA$ R8 W; A4 ~8 Y1 R4 H, {
  274. LDA #$00
    1 q5 I& [! N4 R/ O+ f8 a
  275. STA $B8
    ! I/ B+ v2 r4 c$ I$ E
  276. STA $B9
    ! {, k; D* ?. y$ n5 n' C
  277. STA $BA4 y: c7 J- d0 k
  278. STA $BB
    1 X- g! W5 J0 I0 U
  279. STA $BC: O+ v) z9 l* P& p' c
  280. STA $BD  |* I- y4 W8 Q: [9 F
  281. STA $2001
    : q- D- ~, X/ j/ F
  282. LDX #$00
    % G1 b, C2 [3 s/ c
  283. LDY #$00
    9 @1 V8 c6 N/ t! a
  284. LDA #$00
    # V, V# b  X( Q' t* r% M! ^. X) A# p0 N$ A
  285. STA $BA
    & H% G" F4 ^- m0 |$ \- ^1 ?
  286. LDA #$20
    0 L8 E* x- J  a/ k3 \
  287. STA $BB7 a" t: Y# K7 _+ }% g

  288. 2 o2 Z% t: O: X; S
  289. CL1:- W, B+ L  t  p# H* m  K
  290. LDA $BB
    ) g: l4 C' Y; \' Q$ z$ e% d$ y; i
  291. CMP #$28
    2 X" n  e, N! v7 t) F
  292. BNE CL24 x! P" w, T' |
  293. LDA $BA3 X& k1 ?7 D, m. q
  294. CMP #$00
    ; X# W7 X9 O, b; f
  295. BEQ FREEWRIYE
    : j. s4 B6 @9 A( Z7 V1 j9 O
  296. 3 ]% P( j8 F/ C4 H
  297. CL2:: @6 f; R1 D( `9 z) b9 S
  298. LDA $BB
    , ~9 l) k6 Q8 R! u* i9 {/ y
  299. STA $2006
    3 r" ?2 w1 c8 G% l" j) d2 E; X
  300. LDA $BA+ j. R4 H7 L7 N5 J9 Z4 M2 v& u
  301. STA $2006
    & ?3 _8 F! X' y/ x# X7 B+ T
  302. 1 A/ \, M7 I) S; `  G
  303. CL3:
    ( {9 K4 Q: J/ \' }. A: X. ]
  304. LDA #$00& H8 X: |; I' i' E
  305. STA $2007
    4 K( w) J) @" Y9 @

  306. 3 \& J* b. W& [/ K* ~/ x
  307. CL4:
    5 [  f! s! e& P% _, D
  308. LDA #$006 i; a+ u/ r; j* K2 s1 R3 L
  309. STA $20001 ]( K* V8 B3 d; t& V5 N
  310. INX
    ( A0 v* Z( d) c9 G; v9 [' t" \
  311. INC $BA5 c5 X: E& s! q+ k2 ^9 {! L
  312. CPX #$005 M1 ^3 T8 F$ `6 e, ?2 Q, w
  313. BNE CL1' M; {% C# }8 @
  314. INC $BB
    ( N" e, d  l3 X7 f. Y& Y* K, u) s
  315. JMP CL1 - s( O7 ?: E+ d4 _+ F  n8 t, c8 j

  316. , }! I- ~- [8 M- `; V3 ^

  317. 4 K2 |$ I3 P+ n. h3 G/ Y* b+ j) H0 O$ s
  318. FREEWRIYE:4 C2 ~- v  _* y2 |6 S

  319. " [2 }# V9 p( t/ ?# F6 I: I) L
  320. NOP- H5 s/ G. X$ F. k  {# q8 N
  321. ) C. C, o2 M9 f) v& b5 j

  322. ) v+ j) K1 }; F3 l: h

  323. 7 e! l$ `* E0 `- e4 [& t! E! N

  324. ' D8 ]  \3 U- i* {

  325. * r' e9 U( F5 R3 X' v
  326. CLEANF:                ; 恢复现场
    5 @1 n1 T/ V* K% ]# ^- n4 t

  327. ) F5 T0 {6 m1 C7 c* d& k
  328. PLA
    0 \3 h$ K# E9 c5 i
  329. STA $B81 m. N7 L: |. W- B6 ~# d
  330. PLA
    2 `9 S  L+ S# G1 Q$ e8 s
  331. STA $B9
    ; `  K# ]5 h( @0 n1 C7 W6 T2 }" l! H0 N
  332. PLA1 w. E7 T7 S' q$ c% x% h9 K' {
  333. STA $BA
    , [2 K8 g& `3 g
  334. PLA
    7 m: c+ D" N2 s4 y0 Z
  335. STA $BB5 d/ |* y; g- u0 z. _( Y# J; H
  336. PLA3 D- }( @6 g; p" m0 v
  337. STA $BC
    8 X" S7 Q% D% _) |. C3 B  a/ k# g9 t1 w' S
  338. PLA
    9 U9 j/ }% Z2 U6 h
  339. STA $BD
    ' q# v$ Z, W6 T" d
  340. CLRF:
    2 J3 Y. H1 I, Z7 J
  341. JSR FREE_PPU
    4 [7 H0 y9 a+ w' i( g8 }5 T. ?
  342. RTS
    ' K; y# N. q# f& z$ D% L) m

  343. : r4 I4 K2 }1 a+ i& `
  344. 5 I) r1 U, S7 w/ Q) l5 V
  345. PPUWRITE:    ;PPU写回
    " `. d" }( D$ D
  346. PLA% H, ?- x6 z7 f
  347. TAY" T. V- @! q- T0 [; w. @& r7 b. U
  348. PLA& Y. u, `) ?% r7 O$ N( `. X
  349. TAX  I  R3 j: A$ S6 B6 z
  350. PLA7 w$ s9 i- X* a1 u0 ^; n+ g7 `
  351. LDA $25( r1 z! T3 J2 |$ m
  352. CMP #$00
    : G# n$ U8 }# k
  353. BEQ WP1; G+ Z  t, a% V" T6 f! U1 b7 N
  354. LDA $252 F0 o9 F6 y0 e8 v) k: d/ e
  355. CMP #$01
    5 X8 t# d1 A& {5 _% k5 K! N- c
  356. BNE WRE
    $ C- a9 M( N2 u) z
  357. LDA $F5,X
    ! s' \: T  X4 O8 ^7 r5 U( A
  358. AND #$EF; Y7 y( u* [$ y  `' B
  359. BEQ WRE; U& t% u- l9 R9 `6 c& i
  360. LDA #$007 ~( i1 q- x! x
  361. STA $7FA00 {; V6 e" [0 p% e$ t' G! z
  362. ' x! [' l5 X- V# Y, B
  363. WRE:
    ! J) y5 f- |9 P
  364. RTS+ n. m4 ~& w3 l

  365. 9 _6 W2 Y9 r% ^
  366. WP1:* ?/ r1 e1 v$ }/ N, p2 ]* Q# O7 U
  367. LDA $7FFF
    $ E# t# ~8 m% r
  368. CMP #$FF
    5 K* H8 m2 f$ G4 T; O4 [! I
  369. BNE WRE8 _6 h' Q. n" K1 d) s
  370. LDA #$00
    0 Y+ D# l+ W! p
  371. STA $2001; u2 Z5 R! ]* _$ M$ b  k  o7 u/ u
  372. LDA $BD
    ) s3 s9 V( A* A# }; o( ?$ \. K5 R
  373. PHA
    3 T% O# w' f( @9 G
  374. LDA $BC
    , o! i. s  f4 p' Y) h2 K
  375. PHA  R% M1 m! }+ Q$ ^  [
  376. LDA $BB
    % R2 X' ^" l" Z
  377. PHA
    * a4 X; `4 `! I, X
  378. LDA $BA
    * k  D- p- o* b
  379. PHA
    , o& d; Y' b" C0 W- Y) s, W% `! ?' t
  380. LDA $B9% ^4 x; A* O' Q' K8 L  W
  381. PHA
    & W+ A0 T5 f6 v% k" n
  382. LDA $B8
    5 f9 b, \* L- O* B( \0 w8 X5 K0 @
  383. PHA
    . n2 P! Q% G2 G0 C
  384. LDA #$00* l. G  z8 P- K
  385. STA $B86 V9 G* j3 Q2 Q1 a' O" J* t
  386. STA $B9
    - _3 V/ b6 K: f3 ^* |* o# B
  387. STA $BA. x8 k+ g/ {" L9 v* r+ _
  388. STA $BB
    6 Q2 _! ]# d: g+ j* e; \
  389. STA $BC; R( Q, ^9 s. g5 E% X+ ~, z6 t+ p
  390. STA $BD
    7 M, N! ]7 f1 b+ g8 w$ f
  391. LDA #$00" ?* I4 q# b- V2 E! }  M
  392. STA $7FFF; G( \* x8 n2 m! @9 X! T; a
  393. ) f# p' F& Z( n0 ~
  394. WL0:2 M, v) `9 y. b# M& W
  395. LDX #$007 X9 \- o: m9 W" v* J6 {
  396. LDY #$00
    ! n" t; H5 D" q! S% @" N- ]. U
  397. LDA #$002 \' d8 w7 n/ y- u- N( [1 H" p# v
  398. STA $BA
    7 [  W9 m3 @3 a0 k. U
  399. LDA #$208 a- }1 d5 m" N- q& S
  400. STA $BB
    . ]; D8 u% J& H+ s6 A8 f
  401. LDA #$00
    $ ^( V- m3 V* t7 A  t  w4 d8 E
  402. STA $BC3 y# g( ?* w) H; R3 N1 K  t
  403. LDA #$60
    * D: h/ e2 i" V' {. l8 L
  404. STA $BD
    0 P7 Q# K0 B# v: @3 `) y6 Q
  405. ) f+ l" F5 A1 _7 u8 A4 A
  406. WL1:1 {7 c4 X) Y- S2 [1 P; \
  407. LDA $BD7 \; W9 x/ q: k/ R- ]# w$ T
  408. CMP #$68
    * G2 k* F& f, {8 v  Q0 E' H
  409. BNE WL20 p/ P4 f* z6 F4 F
  410. LDA $BC
      S$ E* m# w1 a0 p
  411. CMP #$00
    2 d/ i7 _: T* u7 _  b- t
  412. BEQ WLR( l9 m  M( j4 T; N
  413. # K: [: u# Y) b1 L
  414. WL2:" `6 `! `% R+ W9 V: {6 |1 n
  415. LDA $BD# d. a. a; i* T& @% p
  416. STA $2006
    4 l* p& S7 v# \: u8 O
  417. LDA $BC
    9 `3 Y$ l; S# @8 }5 z( R0 r6 C
  418. STA $20063 Q* a- c" c8 s1 p+ Z
  419. / F- z( ^  p* w( ?/ e4 @4 K( l; j3 v
  420. WL3:
    , Y" p& }$ G# M8 Z
  421. LDA ($BC),Y' W( h) o5 x' |7 k- v! Z9 _# d
  422. STA $2007" r. f5 [) O  y) G& _. b
  423. 5 B+ R  U9 g, [  w9 ~
  424. WL4:
    + l, B3 e* |/ O; Q- h
  425. LDA #$00! q# ^& T) q8 k2 F. G# T7 S$ L& L: t
  426. STA $2000# l5 f- B. K* A; L6 p
  427. INX/ @7 f) u6 ]6 ?" f# }$ [
  428. INC $BA8 O" X3 \4 h4 ^6 y" \5 ?
  429. INC $BC
    & m7 n3 R7 Q0 n3 {& [/ O$ w' G& i% @
  430. CPX #$00
    2 e" x. P; F' }; d' D
  431. BNE WL19 {  D1 D) V) t; h4 Y; p
  432. INC $BB
    - e! Q; g- l4 y  d0 S
  433. INC $BD% m7 b- z" L1 Z% K( D- z1 g
  434. JMP WL1
    0 E/ E% a" p! k
  435. 4 c' r. M( w7 B7 }. O) i
  436. WLR:
    3 k# t# i% o5 I$ B, o
  437. LDX #$00
    ) R' ~0 q9 b: Z1 F
  438. COPY_7F00_7F3F:
    3 ?0 V1 e( V2 S+ M+ c
  439. LDA $7F00,X9 k: u( Y/ H" F8 m0 s
  440. STA $07C0,X
    & s! I2 V. K$ S; X
  441. INX0 G4 Z6 W: _- k& J4 {2 L/ F
  442. CPX #$40
    * ?; ~( h) V" \
  443. BCC COPY_7F00_7F3F
    ! Z; A6 }9 {# q! T

  444. % ^9 }' _  h6 S! O0 v, E- h
  445. LDX #$00
    ' M' f! V, [% ?8 ~5 D. N" h- r- G
  446. LDA #$3F0 p+ p- O- L% n( _$ }
  447. STA $2006
    ! v2 L" l$ i4 i% ?: K2 r2 S
  448. LDA #$00
    - `, f9 W! A% a! ?+ Q
  449. STA $20062 q) G% r. M! V+ O: X3 I
  450. COPY_7F00_7F10:! h, k( ]9 t2 m
  451. LDA $7C0,X0 {4 i% a' d% P3 K, B6 ^
  452. STA $2007
    / o( z  m, j! n! {9 s# U1 ]1 j
  453. INX
    ) x  ?) D9 ]- ]8 }3 a! s- p* u
  454. CPX #$10
    % `- H8 ^0 X+ k0 y. Q* }0 l
  455. BCC COPY_7F00_7F10
    ) V# G* X1 p5 R7 g) w# a* L3 l/ S

  456. % o& E8 \) O5 D3 B3 o6 {- a
  457. LDA $2002- a0 z& H. y4 z5 J
  458. LDA $FD  S& v) _1 w/ L) v* t0 I, P
  459. STA $2005& F# x0 m7 _" H7 a9 r% J1 H5 I
  460. LDA $FC
    ( @; }/ ~5 r1 R, N# |3 s! {
  461. STA $2005
    $ R/ D& b* ?3 j5 N

  462. ( _" A8 P5 R; E' [
  463. LDA $7F50! }" g9 I5 D4 H' V. }
  464. STA $FE7 y3 R( i7 U: q% L
  465. LDA #$003 c5 ?* N) D; k/ ]  Q0 h
  466. STA $2000
    / D1 l  C' p* a* g& k6 r
  467. PLA* m- f2 u$ D, u  W
  468. STA $B81 r& ^5 S# H+ y% v6 M+ B8 U0 a0 I
  469. PLA: u4 w9 m* y. O: P% U
  470. STA $B9
    4 {  |% I$ T8 \8 t5 [. |3 @7 p
  471. PLA- v$ G4 v. L2 |3 H$ f' b. T, I7 l
  472. STA $BA
    . Z$ J  o0 F# ]" J/ @" y1 I4 G: ?
  473. PLA
    / u' A, r$ h- \% n6 H: L2 A1 Q. M
  474. STA $BB
    3 V1 P/ G- l7 q* ]
  475. PLA3 @/ y3 b0 \, h/ a4 N9 k% f  K/ v
  476. STA $BC1 u$ {+ J7 y& I! K) l' |- o
  477. PLA
    1 A. k- J* x# b6 x8 X3 R+ D( o
  478. STA $BD
    ; s) {" Q# Q  O/ v( s5 ?
  479. ; L. ^$ d$ a4 g' y: n( E
  480. RTS
    - m  I+ w7 g0 L. s4 H4 Z! i8 m

  481. ) h2 r& B8 Q7 u) s
  482. PPU_CMP:- B! ?  o6 i9 e0 s4 [" [
  483. + f* T. m4 N  S1 J7 K$ N
  484. : s% a+ e$ k* l; V4 S3 }
  485. PPURE:% T( f( M, N9 l; g  k$ Q
  486. RTS: {  O$ e( N- g, \+ |* k& Y
  487. 4 x( J  @0 y# c5 e( c
  488. 5 G6 @! E+ E6 e! j) S( @
  489. FREE_PPU:2 O  D7 r; [2 F9 Z

  490. ; A" `1 A2 h% H1 c* r
  491. JSR TEXT01_PPU) K( K8 Z6 Z  E$ A. ?
  492. JSR $CBC0* U6 _: @5 h$ f' n0 z0 Y
  493. JSR P1_PPU; z' l; o! W# h: K. V0 R
  494. JSR P2_PPU
    9 f, @" X6 t6 P. [% R2 H
  495. RTS( K8 x. [0 A- x4 q
  496. 5 ?( z5 Q' F" o; l: A, ]( x' o
  497. TEXT01_ADDR:# ?6 z! k' k  Y  M# i! }) V; S
  498. .BYTE $20,$42
    ( n9 }( h& j, ]  i& ?: i( t; e+ }
  499. TEXT01_DATA:
    6 X$ N) g, |7 `
  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
    8 S% ?+ _8 t" w, g+ ~4 [& E
  501. TEXT01_PPU
    / n0 i* R$ J" e0 \8 _' z
  502. LDX #$00: i( @' K$ o* j2 p: y; Z6 a
  503. LDA TEXT01_ADDR( a8 d. t0 o$ h$ I
  504. STA $0703
    ) C- u$ [2 k5 ^0 F8 E
  505. INX) }* c. a, O# B3 D
  506. LDA TEXT01_ADDR,X2 [3 r& c+ u" \% J% S
  507. STA $0704
    ( i$ }! K5 o7 a# _0 f
  508. JSR PPU_PROCESS
    ; [! E2 L+ H% E+ j, Z/ _
  509. TEXT01_W:
    1 f. v6 t' o; i, ?1 I: W
  510. LDA TEXT01_DATA,X
    1 p0 u" f5 b; @+ E& L( H1 C- i) T
  511. CMP #CEND
    6 N5 B1 B: C& X) x4 h! a
  512. BEQ TEXT01_START' i* {% v* H' |3 a
  513. STA $0705,X
    ! U; p/ W. U, u4 K
  514. INX
    % |$ G. G) d, F: I4 C2 t4 `0 d& {
  515. LDA #$00- G  F2 z; B, h! g- A) g7 m) A' D( n* j
  516. BEQ TEXT01_W
    + l4 P* L. [+ X) ]
  517. TEXT01_START:
    2 a3 b& k# ~" @' j5 {  C! S
  518. JSR PPU_START
    7 Q, m) e2 O" L. v/ a
  519. RTS
    0 A& Z. \* Q8 _4 ?  E3 L
  520. ; G/ W, w0 Q5 H7 B0 V

  521. 1 v9 g0 z: g2 M4 o- v  r& J( L
  522. COLOR_DATA:
    ( Y# K. ?( A% F& l# h! }
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    & R6 [* ?% [$ `* }# a8 L
  524. 7 a" g; b! u" H3 r
  525. P1_PPU:
    + G0 t: \' |# R* H2 z: x1 v5 k+ r" H
  526. JSR PLAYER_01_PPU
    9 [, |+ ^! C4 `: B: m
  527. JSR $CBC0$ I0 t* H+ y  B& m, V4 ^3 k4 t8 X
  528. JSR RELIFE_P1_PPU7 e* {; n4 y5 W/ {
  529. JSR $CBC02 W4 d! O2 K0 S9 Q& g. G
  530. JSR RELIFE_NUMBER_P1_PPU
    ! S9 t( h1 _1 c2 i0 N
  531. JSR $CBC0
    & _) o$ o# C$ i) }
  532. JSR WEAPON_P1_PPU' G/ h5 f- r% B: q) U8 d: l% Q1 j
  533. JSR $CBC0
    ) Y. I% S7 J' \" R
  534. JSR BULLETPPU_P1_PPU# A& T( Q+ j9 g/ m, o
  535. JSR $CBC0
    8 V4 B4 L, p* z, n+ }# i
  536. RTS
      e: q7 ]2 ?0 O* w5 \2 [+ a( I4 y) R

  537. 8 Q- y5 p. a% J3 [
  538. P2_PPU:" ], l' N6 D' o. b" c+ T& H& s
  539. JSR PLAYER_02_PPU
    , f0 r3 s2 K, X4 `7 O: O" C; M0 \& Q4 b
  540. JSR $CBC0& R9 K/ c* p+ t' }% F! B5 o, g9 p( q
  541. JSR RELIFE_P2_PPU
    ) B0 W6 o% X6 D+ R- x
  542. JSR $CBC02 C+ h- u1 q3 X8 M
  543. JSR RELIFE_NUMBER_P2_PPU7 |( j' F. g4 u# q# ?( }0 e
  544. JSR $CBC0
    6 B7 Z& h: q1 c
  545. JSR WEAPON_P2_PPU! V/ n( @3 a- ~/ L
  546. JSR $CBC0! h6 z$ \: k; `
  547. JSR BULLETPPU_P2_PPU
    . K5 n) _  _; k. k
  548. JSR $CBC0
    6 f9 S) n1 W4 R
  549. RTS
    & U4 b, W" P; N9 z* O. |* Z1 H

  550. 3 i/ t" X3 i( _. G4 t! `8 Q* e
  551. ; D# ~0 [3 C2 N: ~) E& B; B

  552. 3 ^" ?. v2 E  Z& n- u
  553. PLAYER_01_ADDR:: o. L0 L9 D( h6 K
  554. .BYTE $20,$A3
    5 K- ?6 ^& F' T6 U. r) L
  555. PLAYER_01_DATA:0 y, E! Y; V/ l
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND' k$ F" @1 x% A' N* ~
  557. PLAYER_01_PPU:0 @* y) L+ c; I1 H% A4 d2 y' ?
  558. LDX #$00
    1 R6 L; ~1 o* o0 @
  559. LDA PLAYER_01_ADDR+ Q- z- b) c5 t* C; ~
  560. STA $0703
      D( N5 T' l+ w! E$ Y
  561. INX% O6 `# [6 D! B7 ]2 B; ], K
  562. LDA PLAYER_01_ADDR,X
    : A" L- Z) u" @3 O+ m
  563. STA $0704
    , G8 r% q4 |2 _$ d/ ]
  564. JSR PPU_PROCESS) Z# P! y* G; ~5 m
  565. PLAYER_01_W:( ^* L+ Y1 }' h. Z
  566. LDA PLAYER_01_DATA,X' d& x0 K2 [: E+ I: A3 w
  567. CMP #CEND# E# x; ~. B8 P- c
  568. BEQ PLAYER_01_START
    4 P- x8 L' {. ?$ J9 r3 V
  569. STA $0705,X
    ! {6 }, A) i" l5 I" B8 }; _" [1 I
  570. INX' B# ^. L4 K. Y& Z6 f
  571. LDA #$00: k; j! G) f3 i* J
  572. BEQ PLAYER_01_W+ I, J' ]7 G* G6 z
  573. PLAYER_01_START:' }: `5 x& b( A: t  r
  574. JSR PPU_START
    2 W; ]* [" A! x$ g! o7 U: z' g% H9 Q
  575. RTS
    6 q9 x4 k/ I' b5 ~. C* e

  576. 4 ^* A  C0 u8 \( w: w7 j' X* A* C
  577. ' V* q+ x+ ]" t
  578. RELIFE_P1_ADDR:
    4 K) V/ b. d4 |, h! @1 m: v- B
  579. .BYTE $20,$E3) t6 `" V6 R* h# @
  580. RELIFE_P1_DATA:  s6 \0 K% d& L8 |9 O
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND
    0 d7 f. _3 ^8 _# j; c3 d
  582. RELIFE_P1_PPU:* K% I" c! ]# _9 E, A3 W
  583. LDX #$00- n3 x- \1 b3 V( c
  584. LDA RELIFE_P1_ADDR
    / |: j+ C6 u2 G# j3 |
  585. STA $0703
    & S& s5 [" q  T" \) p
  586. INX
    0 A% Z) \; h! R  x4 k9 r. ^
  587. LDA RELIFE_P1_ADDR,X+ {! {5 @2 c1 V+ q  `
  588. STA $0704
    - B& a/ F1 Y' k2 l0 w2 H
  589. JSR PPU_PROCESS
    1 o% A, M. H! j6 y1 H
  590. RELIFE_P1_W:
    " n% ^0 a( r, |6 d6 o5 {
  591. LDA RELIFE_P1_DATA,X. R) ^; c4 k8 T, @' R* ]# g! C
  592. CMP #CEND
    ' G  D. K# S7 N. C* ], M4 |" ~6 }. ^
  593. BEQ RELIFE_P1_START  [1 j9 J( p0 f, U1 T
  594. STA $0705,X
    7 Y! f) P- Q, F0 o3 W/ _4 o- P
  595. INX
    & T6 q9 Z. z% T2 f; p* B
  596. LDA #$00+ F, @; R! {. l' g" e2 m5 M0 J# o. U
  597. BEQ RELIFE_P1_W2 {) ~6 q6 U! h
  598. RELIFE_P1_START:) y: E! Y1 k4 o5 f) W7 I
  599. JSR PPU_START& a+ c) c7 f4 r9 O/ [! R* |" |
  600. RTS1 [! c/ w- k0 d2 {0 o
  601. - x: f- j% U) K1 P: P% R* w+ N

  602. 6 o- t0 ?4 R( j% K& \5 F
  603. RELIFE_NUMBER_P1_ADDR:9 W4 I6 o8 S( t" b) t
  604. .BYTE $20,$EA# q. M+ @9 U# p
  605. RELIFE_NUMBER_P1_PPU:
    % M- O6 i3 v7 F, G! h5 }
  606. LDX #$00
    % S* y( N! w" r* _8 S7 |
  607. LDA RELIFE_NUMBER_P1_ADDR
    ( Z1 N1 z6 `( M8 H+ y; f. ~% D
  608. STA $07039 |* q; _& U. d, \1 m/ G, J
  609. INX3 {7 }5 s$ r& E1 b+ h. j
  610. LDA RELIFE_NUMBER_P1_ADDR,X' L0 ~2 _4 w8 _) q! A. J
  611. STA $0704* l  D0 W  {& r; e5 [
  612. JSR PPU_PROCESS
    ; c, u; _" @5 `" s0 |. i$ Y2 N# A
  613. LDA $32
    1 h% y- D& U, L# B8 L) K- U: v
  614. JSR LIFETODEC; l( b! Z7 G6 w9 q3 @
  615. RELIFE_NUMBER_P1_W:" s" }. ?& d6 H# l( W& T
  616. LDA $7A03
    * M% g2 ]# m$ ^' Z4 b
  617. STA $0705% Z& V4 I) C8 c' {: W# V
  618. INC $0705
    + b# T. @" X; W# ^2 |
  619. LDA $7A04* e# h6 J/ n% v8 W3 O: ~
  620. STA $0706  V! [0 b, [1 D; C
  621. INC $07065 N, ]5 ^/ y5 |, E& d% H7 U
  622. LDA $7A05
    " i" R, m7 v( \
  623. STA $0707
    # Q+ N1 T& d: {' M  o' v8 i# t
  624. INC $0707% V& g# s+ b8 @0 E9 Q7 I
  625. LDX #$03
    # ^, |* G1 g# c9 j6 i) }
  626. RELIFE_NUMBER_P1_START:& }& e% g- F: ^
  627. JSR PPU_START9 X9 Z1 ]$ ^- m; m# B5 V8 p
  628. RTS
    . i: a4 B# ?0 Q" c8 m

  629. 0 ~& p, w( G! q9 w* Q  A
  630. WEAPON_P1_ADDR:0 t* h' {9 n5 j4 n( M
  631. .BYTE $21,$23
    7 H  g1 L2 |3 }+ ?) @# A8 [
  632. WEAPON_P1_DATA:& f4 P! u  L% |3 g- a; J
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND4 T. F- g1 A4 T+ ?% x
  634. WEAPON_P1_PPU:: B; t/ e5 T! U* i
  635. LDX #$00
    9 p6 z+ W7 Q! w+ T) ~$ x' N8 A3 {
  636. LDA WEAPON_P1_ADDR4 H7 y$ l6 ]2 ^& f1 P. }
  637. STA $0703, {7 x0 X: c: H: P
  638. INX, X- K3 Y3 v8 ]+ t( g
  639. LDA WEAPON_P1_ADDR,X' K, s4 c9 z$ o7 i
  640. STA $0704
    ) W. i2 f+ y8 D7 {3 w
  641. JSR PPU_PROCESS5 ^4 ^3 `7 w" x8 D- A
  642. WEAPON_P1_W:6 W  u  n# ^7 @9 Z, f1 C
  643. LDA WEAPON_P1_DATA,X
    $ g# q" g, A1 ^$ L4 g
  644. CMP #CEND
    2 H( S$ s* D: v' w. f9 S: M, v
  645. BEQ WEAPON_P1_START
    3 }2 Q' R- g, k- T1 Y, i
  646. STA $0705,X0 V, B" p2 L2 J
  647. INX
    7 y) ^: f( O  S: |3 V
  648. LDA #$00
    & U0 n% v+ ~: W
  649. BEQ WEAPON_P1_W/ S5 l8 D, [: Y* t
  650. WEAPON_P1_START:
    & G9 K! l7 A. p/ ~+ v
  651. JSR PPU_START- R! \' ^4 Z+ _; K9 }! I
  652. RTS: ^+ r, {. y( D! i3 |8 o

  653. , l- v; P2 Q: p$ L, c
  654. BULLET_P1_ADDR:
    0 U1 X: M; N0 X6 X
  655. .BYTE $21,$2A$ s" ]1 Z  }: D8 N* p9 b$ b
  656. BULLET_P1_DATA:
    9 g- \& s7 m* W2 d1 [6 V+ R3 e/ s
  657. .BYTE $00,$01,$02,$03,$04
    * g" Z, i/ _: V' U# _4 x( O
  658. BULLET_P1_NAME:
    ( p( l3 o$ G5 q& ^. t% H4 g
  659. .BYTE CN,CM,CF,CS,CL
    " Q- m7 G) K7 m0 y: A1 ]( Y

  660. 0 B/ B+ T3 ^9 y7 w* ]+ h2 N) ?8 l
  661. BULLETPPU_P1_PPU:
    ' ~7 v) B) c: J' C
  662. LDX #$00
    % s% [, A3 m- v$ F6 k) Z
  663. LDA BULLET_P1_ADDR
      ?; Y9 V( d$ P; B+ z+ \
  664. STA $0703/ K+ y7 w; C6 W" d
  665. INX% o- ?! I) O( B6 s  e2 d7 J. e8 X( }; {
  666. LDA BULLET_P1_ADDR,X
    4 @$ E. \0 E1 w; X% ~* Z. N
  667. STA $0704
    1 @. m5 v5 q1 p* \# U1 i
  668. JSR PPU_PROCESS
    ( }1 d  |6 a- B* R  J2 t9 M. i
  669. BULLET_P1_WRITE:
    * H" w! o2 R3 y$ i, b4 o
  670. LDX #$006 b2 Z& M5 q: Z( f
  671. LDA $AA
    ! f3 f0 J# A! L. o$ m& V3 L
  672. AND #$10
    : [9 `# L( \' d! ^5 f, {
  673. BEQ C_BULLET_P1, e. E% O% ~* h/ z
  674. LDA #CS8 K* z+ f3 f7 p" C  d; J9 }+ [
  675. STA $0705
    & h9 q- U5 \5 G3 ~
  676. BNE B_NAME_P1
    ) }. c4 p0 o% |* x' Y. P1 T/ p
  677. C_BULLET_P1:+ T6 O! I. T/ }- W
  678. LDA #CC
    * ]1 G. K/ H5 X' ~
  679. STA $07056 s+ s+ Y+ Y: x3 y. C3 M. ~
  680. B_NAME_P1:
    - E9 w. E. F0 i% y
  681. LDA $AA
    2 z* i% m( y; `  ?3 D
  682. AND #$0F
    & Z& q( {; Q9 p4 x0 K
  683. CMP BULLET_P1_DATA,X) V$ z6 B8 E3 J
  684. BNE B_NAME_P1_RECMP9 E" Z/ a2 v6 ?; O$ r/ A0 d8 N
  685. LDA BULLET_P1_NAME,X
    7 O" Y) i9 x& M  k, K' Z
  686. STA $0706
    6 j$ z. I2 G: q! J
  687. B_NAME_P1_RECMP9 R/ X" s. y, F
  688. INX
    , t6 h$ I) l( f. p' }8 \0 M9 J( e
  689. CPX #$05
    ; T# c. u) _. g5 I5 v
  690. BCC B_NAME_P1' c6 A4 E' Z6 V! `9 @
  691. LDX #$02
    3 X+ L$ m- F' |3 \7 r8 ?
  692. JSR PPU_START- N3 s3 m3 G3 A8 ^
  693. RTS
    $ J2 j3 R* L2 N. X( z

  694. & Q' e6 N! q1 Z% @

  695. : I7 ?6 T8 Y2 H
  696. PLAYER_02_ADDR:; X. _% V6 E' I5 K6 U
  697. .BYTE $20,$B3
    # ^3 a. A5 t" Q' ]- P5 @6 D3 i
  698. PLAYER_02_DATA:) o& X; n. e& X0 B" X
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    ; e7 \0 c7 z9 n$ M
  700. PLAYER_02_PPU:9 n; N' J0 @3 F9 c) h: F2 K
  701. LDX #$00
    # m* r) y3 R. f" m
  702. LDA PLAYER_02_ADDR
    3 ]* |* W6 c  @$ @
  703. STA $0703# c5 [! U/ |4 Z
  704. INX1 s5 n3 \$ }8 P; a7 t
  705. LDA PLAYER_02_ADDR,X
    3 y4 g0 n. H6 n- i
  706. STA $0704
    8 X7 B* P# [# C: c/ j% l3 B
  707. JSR PPU_PROCESS0 B+ i  n. o( T, L6 T& t) C. B! s* Y
  708. PLAYER_02_W:
    9 E% {0 D" G3 B: D+ k& X( \0 ^
  709. LDA PLAYER_02_DATA,X
    6 A+ `3 Z5 {/ y+ k- l3 G
  710. CMP #CEND" J4 R& z6 w# R! Y7 h4 f5 s; j
  711. BEQ PLAYER_02_START
    $ n% K. t+ U6 |. X
  712. STA $0705,X
    $ g5 K% ]- z5 O  M$ [4 \
  713. INX
    % n& q- L  i4 l# \" r5 p5 `
  714. LDA #$00/ O" T# Q9 E  y+ {% {5 E4 A
  715. BEQ PLAYER_02_W
    # z. J" n/ h0 `; ?
  716. PLAYER_02_START:2 V% V0 B: A4 Z4 u# E
  717. JSR PPU_START4 r; @" R+ q8 g2 N$ W9 W
  718. RTS
    + N  p* m. ]( b) a

  719. ; U8 d' `/ s2 ~- ?$ c5 C$ Q$ b

  720. % @3 N1 J+ ?% V# x; b
  721. RELIFE_P2_ADDR:* d" V: L5 H3 c7 F5 D
  722. .BYTE $20,$F3; |  u) H, q$ F2 K7 f" m8 C$ N
  723. RELIFE_P2_DATA:
    + ~/ {: m! ^; N) R
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND- S4 I5 I+ E1 r7 I/ ], P
  725. RELIFE_P2_PPU:) l  U1 O1 Z$ M' k2 I
  726. LDX #$00
    , E4 i3 |7 J7 U7 c" p& {1 e+ m8 k
  727. LDA RELIFE_P2_ADDR
    ; R) K7 |7 E1 \* s. _
  728. STA $0703
    $ Z( E& e* o( h$ @( c" ]
  729. INX' z: m, B: v2 q( l4 S3 m8 B* _
  730. LDA RELIFE_P2_ADDR,X
    4 J: r( N4 Z/ Z+ O! g6 u/ d7 U
  731. STA $0704* ?3 Y  a" W7 U3 b( U
  732. JSR PPU_PROCESS# I& m; X' D2 a2 A& q5 z* v
  733. RELIFE_P2_W:
    1 ?& L; P/ D7 Z
  734. LDA RELIFE_P2_DATA,X0 c" m7 g1 @1 R
  735. CMP #CEND' Y, R. D$ n5 N+ c" P! n7 t/ D8 J
  736. BEQ RELIFE_P2_START
    % b, t4 `3 w9 ]8 ?0 h
  737. STA $0705,X; b. Q2 i' k1 X
  738. INX
    - c+ G1 J; z' F/ P
  739. LDA #$007 Z+ w( G  e! x( k, w( K& @& ?
  740. BEQ RELIFE_P2_W% |& T* E7 l9 z# P
  741. RELIFE_P2_START:
    8 ^3 d. y  T: i7 }( W, \- x6 ?
  742. JSR PPU_START
    1 X" m4 E) ~  ]$ |' j5 P& _' ~
  743. RTS
    * M" F5 @# i% h, ~

  744. " M1 Y/ b& u( ?! Y8 n9 V

  745. 8 N: l9 r; z( k7 h
  746. RELIFE_NUMBER_P2_ADDR:+ T; @6 L- z% C% |
  747. .BYTE $20,$FA9 T6 A% l' `* G- F# g1 N
  748. RELIFE_NUMBER_P2_PPU:
    ; G+ B8 V- E: N7 Y. \- d
  749. LDX #$00
    8 R# \) N6 X2 }4 T& q# s" u& T6 x1 h
  750. LDA RELIFE_NUMBER_P2_ADDR
    & {' N, g3 b6 H" b/ ^
  751. STA $0703
    : U0 j+ V+ z" H! n0 p
  752. INX
    * P+ @% R' [+ v7 E! E% F3 b
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    5 W- j- d2 u# @8 s7 y
  754. STA $07041 ^9 y% r9 f, i3 J% j
  755. JSR PPU_PROCESS/ X4 U2 u8 f# H3 j$ N2 t
  756. LDA $33! b) {$ w$ j. L% `( r9 d
  757. JSR LIFETODEC
    ! a: A8 K  r+ [4 Y* l- B
  758. RELIFE_NUMBER_P2_W:
    . w0 |+ b* b& T
  759. LDA $7A03- ?/ k# k# P+ @$ m
  760. STA $0705
    $ V8 q6 X& L9 w* ?& ]
  761. INC $0705
    " T0 a) D8 x$ j
  762. LDA $7A04/ L% o7 ~3 _# X% `0 [; r7 k/ W
  763. STA $07067 v* J. m/ e: i7 n
  764. INC $0706
    / d) V6 {. z9 \) B' e4 {* f
  765. LDA $7A05* r! X7 d& C1 r7 k" }: j8 P1 e
  766. STA $07076 \* r+ D/ U2 m* E
  767. INC $0707# E% N. F' V: a" N: f1 m
  768. LDX #$035 e1 l! V: J+ y+ {4 j6 q2 j
  769. RELIFE_NUMBER_P2_START:/ u. [, Y" y1 ^+ j" E
  770. JSR PPU_START7 @" N  K0 Y' [3 m( \! |0 _
  771. RTS3 e/ q( L1 n1 d" O" `& W: x

  772. - [& P9 R5 ~$ r# s1 R+ y
  773. WEAPON_P2_ADDR:
    . T5 J/ l4 t( ~6 ]* w- n: f  T
  774. .BYTE $21,$335 G: g* ^' v8 n* [( j* C# ]
  775. WEAPON_P2_DATA:- n5 v) X; l; D1 \, @& h
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND
    5 T; A; p3 K9 I+ n
  777. WEAPON_P2_PPU:
    * {- H. o: f% E: ~" `/ W* ^. y1 s
  778. LDX #$00* L' R0 g( q9 O3 u# E
  779. LDA WEAPON_P2_ADDR# D/ [0 f& Z# M
  780. STA $07034 F! \2 x+ z5 a
  781. INX
    ! O$ d2 N' I0 x# u2 S
  782. LDA WEAPON_P2_ADDR,X/ g& N9 U; i3 T% x) H  f* O
  783. STA $0704
    ; y" ~' q  ?$ b; I, m, |! T2 [6 \
  784. JSR PPU_PROCESS
    2 z( U+ N' ?6 a" j9 q, n
  785. WEAPON_P2_W:
    / a* D9 e( ^$ d* F& F, k
  786. LDA WEAPON_P2_DATA,X
    % ^! x' D" v$ p7 b0 R% f; I
  787. CMP #CEND
      @4 x6 @1 [0 g1 Q, T& _* }: O
  788. BEQ WEAPON_P2_START; ^( X: B7 O9 E( b4 f
  789. STA $0705,X9 y) ^% C6 B  X1 u5 H
  790. INX* y" L5 t3 k8 q
  791. LDA #$00
    # \6 D7 r/ |6 p" e& ~6 T3 c- y
  792. BEQ WEAPON_P2_W
    1 @3 {  t  y3 {9 N3 ?
  793. WEAPON_P2_START:
    7 j, ]- \3 {' P+ w0 r
  794. JSR PPU_START
    ' o2 E0 H7 n, c# E  V
  795. RTS
    * [) m# z: I' Z; m1 k

  796. & {# H0 _2 d5 C* ]1 w1 _* X
  797. BULLET_P2_ADDR:# I7 M( n1 O' U2 M7 E
  798. .BYTE $21,$3A; H8 }+ _+ Z8 K7 K
  799. BULLET_P2_DATA:: f& ~: W; d: ~+ i" W4 w
  800. .BYTE $00,$01,$02,$03,$04- m+ [: |6 q  J  `5 ]9 P
  801. BULLET_P2_NAME:
    8 A( k# I4 u* k2 @- `0 F/ d" Q
  802. .BYTE CN,CM,CF,CS,CL7 o& l- ~/ V' V- u  [

  803. / y) k! A" n% `( r' i
  804. BULLETPPU_P2_PPU:
    - V  E6 [2 E" j& K( x- l" X
  805. LDX #$00
    ; B  [( C: n' v1 ?! p/ U
  806. LDA BULLET_P2_ADDR0 t. ^$ H* u* q4 }0 M
  807. STA $0703
    , w- _4 `: v' d& p2 b* R- {# G
  808. INX& |3 u  ^- [* M' ~
  809. LDA BULLET_P2_ADDR,X4 c" a. d" B4 {& Z/ I
  810. STA $0704
    ! z3 x4 I. c) M. v. f3 f, E" y
  811. JSR PPU_PROCESS6 O. J2 ^$ ?6 l4 v1 {, y1 u
  812. BULLET_P2_WRITE:
    # v# U& Z' d+ T- o2 p& z# ]
  813. LDX #$00
    ) [" d2 K: ]* k4 x7 ]6 t! X
  814. LDA $AA
    5 {; o* x' O1 w4 c( p- B- y
  815. AND #$10
    9 ^8 e& t7 j/ z
  816. BEQ C_BULLET_P25 |' O+ G1 Z& t- [) x/ N
  817. LDA #CS0 i9 |8 W4 Z# |  y2 u, {& R$ f
  818. STA $0705( k+ i5 e7 c+ Q( P" t9 ~$ s
  819. BNE B_NAME_P2
    % f+ T' m0 E( Y8 g8 t
  820. C_BULLET_P2:6 d6 ~6 W9 f9 P! L0 A0 {3 B: C8 p
  821. LDA #CC
    / K. O# X, `* e7 ~: a0 ]
  822. STA $0705) R  `( \3 \, k" G, G9 y; G
  823. B_NAME_P2:
    ! }" W4 h% I* p8 R
  824. LDA $AB
    ' d+ v; D1 N6 }! c, y
  825. AND #$0F
    2 o2 ?3 g  t, w% g' F& }
  826. CMP BULLET_P2_DATA,X
    $ Z& ]/ M* A3 o  c
  827. BNE B_NAME_P2_RECMP
    8 ^/ s9 ^9 O* n, q9 a& @% \
  828. LDA BULLET_P2_NAME,X
    ( ?( s, t& @7 R( v; \
  829. STA $0706+ X+ n7 S5 j6 g2 v& c
  830. B_NAME_P2_RECMP' z0 W5 `8 v7 U& a; t
  831. INX! T5 D  O2 R3 O# Q% @& i8 L6 u
  832. CPX #$05
    1 k4 ?* W5 W6 H# u9 K+ {$ J$ v) H
  833. BCC B_NAME_P2
    1 t3 _  l* V4 d; q6 H6 U
  834. LDX #$027 d1 Y' A0 e2 U0 r% {( f( ^
  835. JSR PPU_START
    4 O* _0 N$ c, x) Q% J' H2 y
  836. RTS
    " t  _1 X, N6 J

  837. 6 u5 d- I. a# G( b! F+ `4 T1 N; V* f
  838. 8 Z6 F+ K+ @" _1 J9 S& q: ^

  839. 9 L& J, B/ g& {" b

  840. - D9 {- e  }9 s% K
  841. & f! D- q0 S( A' f  W( @6 d

  842. & C: A, @. I3 I# |6 r0 T
  843. LIFETODEC:                ;十进制转换. O6 R0 ~7 h1 L6 k
  844. LIFEL1:        ;initialise+ \8 B: I+ `6 J: _$ u
  845. STA $7A00        ;$7A00=F3
    / k+ A5 T7 R& B# i' V8 y) V
  846. LDA #$00: R: d. M( R" G0 t  F
  847. STA $7A03        ;$7A03=00
    4 |: p1 e- U7 m
  848. STA $7A04        ;$7A04=00/ d3 J" b7 Z, j( q% H! t3 x
  849. STA $7A05        ;$7A05=00: h7 P1 [3 I% i0 L+ T# s4 S5 [- {
  850. LIFEL2:        ;copy data $7A00 to 6001
    8 s9 `0 @/ l% [# k9 D, Q& z
  851. LDA $7A009 j4 p6 n8 ~0 k: N' F( g/ C: t9 X
  852. STA $7A01
    ( x1 I: R6 F; Q  ^4 c3 w
  853. ) d* A# O9 Z6 W( O- P7 n
  854. LIFEL3:         ;hundred
    2 s* X" t0 P" m9 W$ z" O  W
  855. LDA $7A01
    : \% e9 k' e  r# d0 P! ^& W
  856. CMP #$64
    6 }4 z* F6 [1 M1 r. O1 Q
  857. BCC LIFEL6                ;$7A01<100 goto L6  v0 ]" S7 V# S  |4 q
  858. LIFEL4:
    7 S' Z+ M# e- b8 k. m- _
  859. LDA $7A01
    + x% B; d$ G7 ~: v$ ?
  860. SEC
    % L7 W* @+ {/ E/ ?, P
  861. SBC #$64        ;$7A01=$7A01-100# y% H! L' X, o/ d
  862. STA $7A01
    8 F. o* m1 s9 u, X! v  o# d5 s' B3 p
  863. INC $7A03        ;hundred++
    3 ?* b' l7 r4 X% U9 N- v* v
  864. LIFEL5:
    , J" Z7 \% Z% R1 a/ r
  865. LDA $7A01
    2 q6 Q8 D& m. u5 e
  866. CMP #$64
    / C, l: G; B! Q  N
  867. BCS LIFEL4                ;$7A01>100 goto L4
    ! L/ C0 x2 ^; t+ m0 b/ p4 U

  868. ! h! ~, w4 X! @  m* |
  869. LIFEL6:        ;decade
    " ~# L  U+ M; M& k/ d' E
  870. LDA $7A019 i& P4 z) D1 X- e" p
  871. CMP #$0A
    2 J/ P7 H, @4 U0 ~- q: e* t$ T
  872. BCC LIFEL9                ;$7A01<10 goto L9
    ; d7 I. V* c* \  o
  873. LIFEL7:       
    9 B. p2 p& ~- @1 @+ c
  874. LDA $7A01
    ( _/ G6 a: {* \7 S5 W0 f  Z1 Z( |
  875. SEC+ {. X1 f! ^4 U4 f4 T5 Z+ C
  876. SBC #$0A
    ; b# W! X5 m0 z
  877. STA $7A01        ;$7A01=$7A01-108 i6 o8 N* p2 _2 n9 ?
  878. INC $7A04        ;decade++
    - ?5 |+ n" I' u# i( P) I
  879. LIFEL8:
    3 z9 c7 E2 F; }- b0 Q
  880. LDA $7A010 Z7 @; ~8 ]( W. P8 [0 i( t9 a
  881. CMP #$0A9 }- O2 m- X* U7 k
  882. BCS LIFEL7                ;$7A01>10 goto L7
    " \% H. w, U6 T3 j. v
  883. ;unit
    & M8 C1 M; e5 Z, j6 y8 P
  884. LIFEL9:7 I/ Q5 l7 \' j" t8 p
  885. LDA $7A01        ;$7A05=$7A01- y/ a# ?* A7 _: H  p0 Y
  886. STA $7A05        ;unit+ C( e0 W+ z% v  i1 E2 q$ g
  887. RTS        ;return1 y. w: d5 k# C5 F- A9 i6 {

  888. / c/ l) O+ t' V

  889. 9 h: _! y, T) e
  890. - f4 P2 b0 U. u6 o: I: x: @
  891. PPU_PROCESS: ;PPU地址处理程序, }# h( C: R3 M( m
  892. LDX #$00
    * Q- Y) e  R9 q) s% N1 s
  893. LDA $FF+ ~6 s4 x; y) M7 Q
  894. AND #$01' Z) f$ s& k+ w
  895. BNE PPU_2400_27C0' G( T1 J4 _5 L1 N; _6 H% A$ g5 t: u
  896. PPU_2000_23C0: ;命名表1, ?" [7 f$ E. n% f9 `' Q9 t/ `
  897. LDA $0703
    % _9 `/ }$ N' H* P+ t) Y0 x( c8 G) Y
  898. AND #$FB
    ' m9 K( l8 u( h7 Y! v$ A
  899. STA $07039 s0 S. b2 U0 P5 N: {8 u
  900. RTS3 o) i" x# I9 U- p: I) w" P
  901. PPU_2400_27C0: ;命名表26 i/ m4 I* o- }$ e! A
  902. LDA $0703
    ( ~; C5 D  x* J3 I- V* }6 O& o$ f
  903. ORA #$04
    : r3 m( ?9 x% C+ q: C
  904. STA $0703# Z) J4 l& a2 J" f  {
  905. RTS
    ; w" }  m* m% Q4 d- X7 b

  906.   P7 M; S7 B4 X' x* v# f+ N# N7 F% C! d
  907. PPU_START:  ;PPU数据写入1 }2 A1 F4 {1 k; j; j) W
  908. STA $21, D* K$ z% P; W/ e+ R# x
  909. STX $0701+ a3 o/ F1 J+ e) e) u: b
  910. LDA #$00
    ' E( M; a) a, M, B4 w
  911. STA $0705,X. s) R9 O, G7 C6 z" |
  912. LDA #$01+ K$ m3 U+ R  I1 ^# ^/ M
  913. STA $0700# C9 M8 b+ m4 k6 |9 X
  914. STA $0702
    9 k5 T# b" q( _; A% V
  915. RTS; t; J4 `2 @2 I3 m; N  u9 x
  916. 9 x  T* |% _; I
  917. 9 q, l. G3 t: L/ v4 M5 t2 z1 X

  918. ' p( d+ y( H' I# l9 {

  919. . M8 H* {2 n) I5 ^2 v

  920. : h# Q- ]6 M# X% j
  921. $ _3 _2 y, O. [/ @  T" l0 i) o
复制代码

0 M& j8 ^. ], {$ n: _; L3 ]) c+ b

本帖子中包含更多资源

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

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

签到天数: 2217 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!4 s: T+ i$ x3 V9 O! J  z

签到天数: 2560 天

[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-6-19 09:07 , Processed in 1.101562 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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