设为首页收藏本站

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序) ]) I* F- ^( ~
  2. 作者:FlameCyclone; L# i5 Z- ^6 j% `
  3. 时间:2017.2.12
    ) H5 C6 R4 s6 U7 J4 k- N
  4. ; d) Z8 n% I" M% k
  5. 按键跳转:! ~  V! H& W# P: E( s' u
  6.         C1EF:95 F5 94 F1, @* q8 t# O% H8 }# `
  7.         C1EF:20 70 FB EA. Z- l$ c! o9 X9 `! E+ F
  8. $ r; C3 }& O/ r7 K* d
  9. 滚动偏移:
    " Z+ {- ]$ ~! Q
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20
    + }( t" P* K! \7 h
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    : ], z  b! O- u  V- V
  12. # j; ~2 @7 Q" z& u$ E5 A5 q! ~
  13. 背景调色板:0 w( ?8 S4 |  p
  14.         CF20:9D C0 07
    & l2 T3 ?& J& P3 Z5 H
  15.         CF20:20 A0 FB; z5 ^7 ?% T; d/ V5 r" I* ?$ ^- w
  16. " C* @; Q5 |  u6 _2 ~8 O
  17. PPU BANK号:
    4 M0 p; a8 C. p. A# F
  18.         C8C9:9D F4 078 Z  L- j1 C. f
  19.         C8C9:20 B0 FB
    ; v' a5 X  F- j. A% q, U8 B- c
  20. 3 n' g  n1 m. K$ x. q% [! W
  21. 按键跳转:
    " M; f7 z3 ?. h7 ^- Q
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20; z1 r& F0 [, g: U1 r- `" S. E
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    5 @* q& m3 z8 c" z" |. w
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF3 {9 ^3 u1 z. N. ]  P' m

  25. ( b" ?2 z3 j" }! E0 e- {, m) q
  26. 背景调色板:
    ' \' [8 m0 s+ }% h& h$ N
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF
    + i/ N, M( ?8 G  g4 p' y; ^
  28.   O' ]6 B! f8 k0 X! I1 S+ v
  29. PPU BANK号:( E) h$ `& ]. i( `
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF
    . z$ L6 v& C+ S$ E1 z$ a1 b) _$ r
  31. 4 p4 D5 G# C* Y4 p
  32. 滚动偏移:
    & ]/ j( [, h# ^4 P' I& Q
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60
    : O# |8 F1 c& L/ w) q* H
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF4 c" ]' h* o) i' p& `, S7 O
  35. 9 i5 X; j; u5 k, d# o; V( c

  36. . c" u8 {7 }3 Z7 r3 H
  37. 切BANK后A000:
    , w% J9 [: H/ U: a3 l/ v
  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# [+ s2 x, a( N
  39. 7 w# ?  P0 K7 `0 }  U

  40. : d3 I6 O+ O7 a, K: j+ U  ?! k, p
  41. 6502 simulator:
    0 ^  z# X$ u6 X! D
  42. PPU写入程序:* ^5 n! m) v/ G/ S8 G$ D
  43. .ORG $A0003 `$ A5 l3 O6 |4 L- v7 f4 l
  44. CSP = $80
    : g  s% c, L' k& L: ~/ x# Z9 c
  45. C0 = $81; D; \+ D7 b/ s9 _
  46. C1 = $82/ b2 w( i4 h/ s+ j2 X
  47. C2 = $83
    / Y: ]! r2 T1 h$ [* J  p1 ^* U
  48. C3 = $842 S- L1 _1 w8 o; ~
  49. C4 = $85' V! K, d3 {* \9 C9 z6 s
  50. C5 = $86
      k" p; `: C: W/ V. ?, W
  51. C6 = $87+ x# m7 o/ {8 K4 k6 F: j7 X7 g
  52. C7 = $88
    7 Y6 U( `$ Z, H1 G: x0 n
  53. C8 = $89
    3 g7 K3 Q# r, [- E6 y  O
  54. C9 = $8A; b" K. U5 G1 N6 T
  55. CA = $8B) ?) Z9 F9 g4 G( B( C
  56. CB = $8C8 {* O6 r1 I1 u. P  O
  57. CC = $8D
    + s1 J! m$ O& T7 q: v" p. x
  58. CD = $8E& o6 B* Y, y$ O
  59. CE = $8F
    + L: g9 M3 J! M% R
  60. CF = $90" |, I$ |1 z& U
  61. CG = $91
    0 H  i6 R1 L& s$ U7 B
  62. CH = $92
    $ W3 K5 I* Q% n. I6 a$ H
  63. CI = $93  S7 Q' ^/ B! ]5 o3 x5 J- I6 z+ j5 g
  64. CJ = $94
    . B: s% v8 s6 [! k% x
  65. CK = $95
    % y% H7 A3 A* k! [6 i
  66. CL = $96! {$ W! l6 B0 V# d$ b
  67. CM = $97
    * S  s# I) o+ a  t0 a$ u
  68. CN = $985 M9 s3 K& x: p8 F' k/ Q
  69. CO = $99
    6 [1 m: ?# r* t) ?- d: E
  70. CP = $9A8 z# O1 B5 J2 C8 X& E0 Q( W7 u$ Y2 r
  71. CQ = $9B& {% y" E( V5 {4 H  e- N$ C
  72. CR = $9C$ _, d# Z4 W$ n% _  ?) m
  73. CS = $9D
    ! P- @* g1 A. m! z) g) F5 C3 g
  74. CT = $9E
      m$ ?2 j) J( d4 o# x1 F
  75. CU = $9F0 y. \( L% t/ p7 h# E
  76. CV = $A01 f8 M# f* C) G" o; |
  77. CW = $A1
    9 J& L" n1 t/ S3 e
  78. CX = $A2
    . E! ]4 Z) L1 y' U  _" F( u
  79. CY = $A3
    8 j9 ?% z* d$ h- D! S7 @: T$ j
  80. CZ = $A4  q/ n- v; K; X! I* u0 e! {
  81. CEND = $FF' H0 T: i/ e; |6 a- h; G- Y/ j; g
  82. 1 W3 O, s. Q, s) I

  83. ( N! n  t3 I% a/ O; r* @
  84. CMP_RE:4 u. k# F6 M1 Y+ l; \' y6 e
  85. LDA $FF0 T; }. g8 D( H, d# n# _9 c; T! n$ i
  86. AND #$7F
    / F# R5 a4 n3 G. e
  87. STA $2000
    5 [" l6 u2 Y5 i+ V$ C- c
  88. LDA $2002, t) v8 Z5 w2 F* A8 v
  89. LDA $25
    ( x" v$ Y2 q: J( G8 l: W2 I
  90. CMP #$01
    . u$ U: ?" a; T8 Y4 b( ~& e
  91. BNE PROREG
    % p, l; r) Z0 d% T9 A6 H
  92. LDA $F5,X/ h% }5 W0 I  z5 q
  93. AND #$CF( X& |3 y- j2 i, }$ ^( I5 p
  94. BEQ PROREG# o# m- N' V( N, c/ x3 R
  95. JSR PPU_CMP  t8 ?$ K# {% H  O" }. U
  96. C_RE:3 J( M: t( o0 B" q- X6 m
  97. RTS
    - ^  q, l- o' H/ ~. W0 U
  98. PROREG:& b: ~" n1 c  N: w. i: ^% G
  99. PHA
    ; \1 A2 v, y! {
  100. TXA; u3 v. E& ^( C" T, K# G( W
  101. PHA1 E! e( g3 }- L# s$ Q
  102. TYA$ J! |: y) x  G( z( A
  103. PHA
    1 Y$ d; r8 C! Q& x
  104. LDA $25
    $ r2 Q! J: F7 R1 q) b
  105. CMP #$01
    4 ]! l# K4 \3 P  n& j
  106. BNE RE. b7 C" m0 L# b+ @/ M% x
  107. LDA $010A
    ) u" x! o, r7 W" ~2 S' O
  108. CMP #$00
    & {. [: j- Y  l/ d
  109. BEQ P18 g  a. a! z1 n2 y- G2 V8 d, B
  110. , \5 _' d0 b$ u7 J5 ~) T
  111. RE:2 w# w" r9 ~6 d# h
  112. JMP PPUWRITE' B2 f9 [1 A/ h" D
  113. " s0 G2 M; B, F- J5 \4 u. U4 ^- {
  114. P1:                ; 条件判断8 O! [5 o  ]2 u) l" ~+ {
  115. LDA $7FFF7 w& k: \7 r' n4 J* C7 a
  116. CMP #$FF
    $ Q( q; d, G4 V1 ?. U' W  B7 n
  117. BNE P1RP7 \) P9 a8 z* n5 c% T
  118. LDA $7FA0$ T' l' g9 i! u: n, q
  119. CMP #$00, u* ~- J( s1 g" p; E9 j( r
  120. BNE P1CMP
    2 p4 P9 ^7 U0 Y
  121. LDA #$FF, ]3 j3 B; |. A5 `- s$ K6 `
  122. STA $7FA0/ q* \, k  K! A, I9 }) c0 A: b  R5 E$ X$ i
  123. JSR CLEANA
    : a8 E% o* }; l+ J; ]
  124. JMP PPUWRITE
    ! x3 ?" u# R0 [: n
  125. P1CMP:
    & [6 d+ [7 j# u
  126. LDA $7FFF
    # I# p3 m' m2 U" `# X/ X6 B# p1 `
  127. CMP #$00
    , o  m. v0 ?* }9 c
  128. BNE RE
    * N6 j8 F* z% s4 ~9 L0 l
  129. P1RP:
    5 ~" |! I; E* n- Q7 y/ ]
  130. LDA $2002# a* u: @  |4 V' q) ]3 M3 M9 s
  131. LDA #$00% x- ~1 H# B  S( Q& k" X) u' M
  132. STA $2001- N# P1 b% Y' H8 [! B
  133. LDX #$00
    . e+ _4 S0 h; O8 h) w
  134. LDA #$FF/ J+ R* ^7 T; o; \( J6 w
  135. STA $7FFF
    ! ^& F& Y, D& Z: I: c" \
  136. STA $7FA0
    ' c" C" T1 u: Z8 a& [7 Y9 ?  H* a
  137. JSR COPYPPU3 F! S9 @* U6 L2 O- v
  138. PIRP2:" E/ V5 s! P2 j5 w0 B' N
  139. JSR CLEANA
    , k2 c8 K' r; v! @7 e; a
  140. JMP PPUWRITE& K( A' r; D% |) f6 p) @

  141. " o" ~( x0 N, ]4 b9 }
  142. COPYPPU:! r8 \' @9 }2 q. H' b
  143. LDA $FE
    9 R( c% A" ]& Q' u" u. |# z3 C
  144. STA $7F507 g% t; @& Z4 u- G3 W& r
  145. LDA #$085 g; @8 l' n" H1 \
  146. STA $FE# t( b3 p+ Y  u8 s: G! W+ i
  147. L0:
    , }) \, u( ~8 r8 g
  148. LDX #$00$ ?$ b/ |  K& I
  149. COPY_07C0_07DF:
    & b/ Z1 T! F" T3 `/ P& R+ S+ F0 g2 r) @
  150. LDA $07C0,X
    4 t6 w" \7 N# D/ z& r/ L
  151. STA $7F00,X/ _! V  }$ K4 N* ?+ I9 K- ]; W9 x
  152. INX' S; e4 _# Y) \- \
  153. CPX #$40  M2 O5 M+ X, a1 z; r3 p; ]" p. f
  154. BCC COPY_07C0_07DF
    7 ~. Z+ w) e0 S* K
  155. LDX #$00& f& n  G. ^- y+ f# F$ n
  156. PPU_07F4_07F7:- a" |, h& N( p* H
  157. LDA #$00
      e+ E/ W3 H$ z5 `
  158. STA $07F4,X3 ~- F3 |3 I+ {) x
  159. INX
    4 z( ]* N7 h' g- C4 q
  160. CPX #$04# K( S: m- Y; Z; m9 b- ~- \0 l
  161. BCC PPU_07F4_07F7
    7 R, R+ v$ f$ }
  162. LDX #$00
    2 y0 v0 E, ?3 z4 x( x  B
  163. COLOR:) t% X) i, }" i0 @. x7 n
  164. LDA COLOR_DATA,X3 m$ {' R5 g$ O
  165. STA $07C0,X2 l- t' @& [6 U2 c3 U
  166. INX7 i# R, E9 |9 d/ J
  167. CPX #$10
    6 ?' g/ U' _/ _. T8 m6 s" V- J4 f7 c! s
  168. BCC COLOR
    ; t2 b% E* E' [' G' b; X

  169. / N3 W, g# j3 ]
  170. PPU_COLOR:# Y+ U1 w# c$ y3 f
  171. LDA #$3F- A4 U- x1 R9 m! T
  172. STA $2006
    $ S  H5 b7 k* c$ ?, d
  173. LDA #$00
    : ?" {! t( C7 |' A: a- z) E/ Y
  174. STA $2006; s8 j4 X$ h) l# U  W9 j
  175. LDX #$00$ }+ K$ D" Y, h- K  f$ ?7 W- |
  176. PPU_COLOR_W:; n  ~* S) V! M+ h  J5 I
  177. LDA COLOR_DATA,X& f9 L* q( H; z, [' }+ n
  178. STA $20079 K! E5 o; y8 [" O# I; Z# ^
  179. INX8 C! ^- U! r) A$ i
  180. CPX #$103 J; k$ d1 T, h8 ]
  181. BCC PPU_COLOR_W
    8 S+ p& i8 t7 H
  182. 3 f& M5 E- o- c1 ?
  183. 9 L/ R: S6 @3 y+ `
  184. LDX #$00+ ~6 P6 y7 F6 P
  185. LDY #$00
    0 E( H! k. a! K' Q9 R/ {
  186. LDA $BD6 `3 T# M1 J6 t, _7 l
  187. PHA
    4 t3 m. {4 ?" Z% ]& h/ T
  188. LDA $BC
    ) n5 G9 j! G2 ^+ t+ \. V
  189. PHA( I  B8 a0 O3 C) Z4 B( L9 X
  190. LDA $BB$ k+ k) @8 W. b0 U9 _* W  Z7 E2 Y
  191. PHA! F' W7 n) @7 M
  192. LDA $BA9 |0 X8 b0 e- k8 g) u
  193. PHA& H4 m5 D' ?( p6 ^. ^) K
  194. LDA $B9
    , U4 N# o1 z. y
  195. PHA
    $ w4 n; t+ E2 e* Z, B
  196. LDA $B8. Q$ d# F4 ^# I7 I8 V
  197. PHA
    . U5 b4 z$ C& F; Y) m- ?
  198. LDA #$00" b0 r( v. X; [9 e! ~
  199. STA $B8; S4 x4 t8 m! }9 }
  200. STA $B9
    ) I" N# q7 L( m' X
  201. STA $BA; C! A8 X2 e5 h( q  s5 R1 ^
  202. STA $BB
    3 x. N, C2 ~( ]0 O& _
  203. STA $BC" D; c( M( }( q% g" x/ S
  204. STA $BD4 {0 E4 o  U2 q- L/ N
  205. LDA #$00
    ' t' m4 @6 X# M( E
  206. STA $BA
    ' U% ?$ H$ Y  I" ^6 U  O- J
  207. LDA #$20
    6 z# x. o6 P9 D& @
  208. STA $BB! G+ G& H4 e$ U. c+ z
  209. LDA #$00/ U& h  r9 A) m6 \4 z! B
  210. STA $BC( v1 y( p( ]" O& F. s0 v+ P
  211. LDA #$60
    : ~, X! n$ w9 F$ A+ Y4 S8 U
  212. STA $BD2 K( e8 b& L& l5 p5 e' ]6 r, _: |

  213. 6 f* E# B, g$ ^
  214. L1:                ; PPU复制, }3 c! \9 `$ V3 j! r6 x+ f
  215. LDA $BB0 o/ a0 ?2 Q) `
  216. CMP #$28+ {% }+ L, `: G, g  D
  217. BNE L2
    ! W. s0 ?) v, I( e( f
  218. LDA $BA6 ~; f5 f3 v" \6 |* I
  219. CMP #$004 J' l0 ?3 H# ]3 b1 Y, A
  220. BEQ PROADPLA
    8 |* z! {( X3 k9 L3 r* J0 P# \

  221. , L& J" g5 X  M! n. N0 w; i) \
  222. L2:
    ( H  I/ c: X6 }5 F  T4 U9 D& B
  223. LDA $BB3 F8 w) c2 `1 a' y# B+ {
  224. STA $20066 `4 W0 I" w# q# s* Y1 K
  225. LDA $BA
    , ]& T  n0 n. f5 X( C
  226. STA $2006' s4 [: D7 _, q& u7 W9 ]

  227. 4 C5 L/ G: E" _
  228. L3:
    # Y* _. g7 @* c0 B! e; L
  229. LDA $2007
    # |- ~# h7 A! e" T% ^
  230. LDA $20075 V7 N- n& Q: R, L) s! t
  231. STA ($BC),Y
    * [6 _9 T! C% d8 F/ x6 B: ?3 d
  232. 7 g% O; s7 A. `* o
  233. L4:
    ! }& }. d, y! K! P* j- H
  234. LDA #$00
    3 S0 Z1 O/ L9 a' T6 m( ]  C; ]
  235. STA $2000
    ( P# ~/ C2 _7 O5 \$ M
  236. INX
    ( j3 n; _7 q8 {
  237. INC $BA" p" j# f% C, d, V
  238. INC $BC
    , f& w+ a0 o7 P* [6 v+ ^
  239. CPX #$00
    ) P' h! p! x6 _+ ]2 q, E' N
  240. BNE L1+ `7 j$ Y4 q2 f. a& Q4 l6 _) ?
  241. INC $BB+ v  H. k+ N& d  L; u: X9 y* Y
  242. INC $BD$ E, {4 w: p4 [* W
  243. JMP L1! F" p& Z/ l6 r& c  h

  244. ) m4 @0 y0 O) h; M0 y
  245. PROADPLA:                ;出栈
    ' O" }' L7 @* W2 ]$ \' P
  246. PLA1 w% W* Y0 N( S/ {. y+ w" f: `. ~
  247. STA $B86 [4 l8 l- D) @2 O- m' `1 P
  248. PLA3 ^6 U, J, ~6 _: c1 ^" u# h/ C' r
  249. STA $B9# Z- i1 ~3 S3 i# F
  250. PLA' x3 u# K! z! h# I  R
  251. STA $BA
    6 B; e4 D2 \, P" \8 y: Q& x3 o
  252. PLA' M) Z4 G( @. q( |3 N
  253. STA $BB
    ! j) m3 [' r$ }: @
  254. PLA# H1 R4 B/ R2 g! X; j- J
  255. STA $BC
    " X, X/ S; u6 s: k2 A3 j
  256. PLA" a; K- }! M* |
  257. STA $BD
    / l6 L9 I$ l" A9 a/ t. T( Y' _
  258. CPRE:+ H2 O* G5 \; W( q; b
  259. RTS
    " l- w2 e4 ]) J9 \

  260. 7 W: j3 {2 L1 p
  261. CLEANA:                ; PPU清空
    * m' A: b1 j3 F8 Q* H4 v7 }9 D
  262. LDA $BD# ~! r- _  K, d2 M9 N  F
  263. PHA
    9 l7 P9 i2 F/ \+ T6 q1 t9 q9 s$ \
  264. LDA $BC
    ; ?2 I. s7 A8 J) g
  265. PHA" z# i3 f# w: k, O
  266. LDA $BB
    ! a; i' |5 R/ u$ U/ M5 J. X7 s% Z
  267. PHA+ v# V! Q2 g6 V( ]2 X# Y
  268. LDA $BA7 V/ {# _9 b7 j, e  q+ i
  269. PHA1 a) a: F: ~' ?; H8 ?
  270. LDA $B9" J; {& J0 G) a1 c+ d9 k6 A/ `
  271. PHA
    6 t4 }# j- [! ]( F3 ]/ e1 m, g5 ]
  272. LDA $B8
    9 e% c+ M6 C; l/ E6 X) v
  273. PHA
    5 N' j9 G& n1 ^- w: k3 @9 x6 ^
  274. LDA #$00
    5 J* B( N, o5 Z: h/ g. e
  275. STA $B8
    " A1 N) ?8 o7 ?% V( {* ~+ y
  276. STA $B95 d6 p. b  s% ^
  277. STA $BA8 y4 @, d* X+ h1 I! k7 B; H
  278. STA $BB
    1 n) P% k1 t' E# r
  279. STA $BC+ v: }, E# o, Q+ t1 z: Y+ p: D
  280. STA $BD6 p4 A& u# s- `  j- E/ F
  281. STA $2001
    + ~& [2 R7 H* w* L" f. K0 t
  282. LDX #$00
    + V% d" P- D9 {. o5 Z
  283. LDY #$00
    7 f% C- Z. f+ Y
  284. LDA #$00- _$ [% _9 N# C2 C1 i5 }  R
  285. STA $BA$ ^. \& d# v2 M8 R" G. Y
  286. LDA #$20* U+ _6 d4 x6 p/ M' B7 `2 `
  287. STA $BB
    4 ^) Q4 ^! Y1 r" L; }, }, A

  288. & S9 D# X" b0 [6 ~
  289. CL1:
    / i8 d! Q3 z( Y+ p) @
  290. LDA $BB
    " ?- E9 }4 Z. e9 N9 K' _
  291. CMP #$28
      W! q; i! I. N+ E* V
  292. BNE CL29 O6 M" u/ S* i: z0 M0 @
  293. LDA $BA
    ' t0 j) p& E/ l$ R% I' Q& M
  294. CMP #$00& A" _. {% g9 Q6 l/ L) I: m
  295. BEQ FREEWRIYE
    " u% W9 U/ Q' p! C( v" U& O

  296. ) `$ _3 f  \: f8 v; q$ R  W
  297. CL2:; k9 u! Z$ b; O! s! l- Y( v
  298. LDA $BB( i* s7 [+ a# `: n3 x9 _
  299. STA $2006. n/ D5 {+ M4 e
  300. LDA $BA3 O6 O( y7 Y) ]7 z5 a; U
  301. STA $2006
    2 K# u1 ^7 }8 V

  302. 1 b2 _$ u: ^( B' t5 n# S' E0 y  M- U
  303. CL3:
    5 T, B/ N/ f: D1 X8 r' G8 v
  304. LDA #$00
    4 g1 W# o, l" w
  305. STA $2007
    # y. Z! p& x$ W3 s) {. R4 P

  306. & X: w- V4 J3 Y6 X# b* G
  307. CL4:
    6 x2 e% e& _9 _4 {+ X' n
  308. LDA #$000 i" e6 C0 j5 {% `- r3 T
  309. STA $2000
    + o7 y# ?/ ?4 j3 @( O' K6 m
  310. INX
    " C. `' T2 Y" V8 c& d7 R
  311. INC $BA' I& {* ]$ ~- S" S; a: B! D  K
  312. CPX #$00
    * D9 V3 D5 p. p# o
  313. BNE CL1: G7 R* P2 O6 G' f
  314. INC $BB/ V; p& E. n) Y8 a. }- [
  315. JMP CL1 2 b. b& ^4 A' r) y( o( a
  316. - z, f$ v. s( {7 c: A! ]
  317. 2 p7 O/ R$ ~9 i% w+ }1 `
  318. FREEWRIYE:. y1 z* g7 B$ f; A! t) B2 J6 u
  319. " j* g+ O0 m5 Q  R1 X8 Q* y5 {
  320. NOP
    + R' u4 D5 V' u+ Z5 T( T9 F. T/ x

  321. ( `4 g+ Y3 U( h) b) ?7 j, `

  322. + }( u' O; f2 A6 U5 c3 ]

  323. 2 y" O5 _3 e- @

  324. / Z: V( j- H; u3 t; q+ W+ \

  325. ' O3 Y. _9 _; g' A: Q
  326. CLEANF:                ; 恢复现场
    8 j" T; Z( M; C8 l2 c" u8 |5 ~

  327. & M; O$ R) Z8 [5 H
  328. PLA; O/ `, ?' P" u) m( k- f# H: Z& i
  329. STA $B8  W7 `, h3 L  z: T7 F" q
  330. PLA
      Q7 h0 t9 ^0 ?
  331. STA $B9
    8 o( j# b$ ]7 F+ p; s/ n3 ?
  332. PLA: z: b1 ~. ?) F
  333. STA $BA
    7 E; Q; ?! }: _$ H8 ^6 Z) b6 `
  334. PLA
    ' N. P- V% @+ P% S
  335. STA $BB
    ( [; F& a% p9 I0 n/ n" f) X! A
  336. PLA8 s! d$ t4 p; ^0 L) h% L; K
  337. STA $BC% C7 h& E, Y0 Z9 S2 L3 G) y
  338. PLA
    & S1 n9 ~9 f0 z+ u
  339. STA $BD) R9 ]5 @" g* Y* L; `
  340. CLRF:/ r) }% C5 \+ F  n) L9 w8 j
  341. JSR FREE_PPU, }1 N* _) A/ ~/ c
  342. RTS
    ' t$ n4 b5 J- G& C+ X* v# P" M

  343. : M6 s# a: e: d, n' C: O" h
  344. 7 Z. z. [* k1 ^5 C- X5 Z7 o' T* {" k* [
  345. PPUWRITE:    ;PPU写回
    2 k( l$ Y% {. [# s. p$ V; E
  346. PLA
    4 v1 f1 e0 L& x1 b( _) }2 {  V
  347. TAY
    ' U: o8 J$ {" e- ^9 T* ], ]
  348. PLA
    & ^* ~7 T# |) b: C: C: e4 |" m
  349. TAX$ Y( s. ^7 l% _" n; q6 o5 M
  350. PLA
    ; g: d2 a) K3 m$ w( {! w
  351. LDA $25
    0 k, d( f" T5 A8 H4 y$ N, G
  352. CMP #$00  F9 F8 M: [/ k( V( }
  353. BEQ WP1% C6 L0 B* c9 H! G+ B! a
  354. LDA $25+ u) P) K" Z" u' g4 r
  355. CMP #$01
    6 _! Z+ w# u" M( ]
  356. BNE WRE$ K- }8 f* m3 ~5 R0 @
  357. LDA $F5,X
    ; s+ k- y; w4 p2 J5 R
  358. AND #$EF% o0 n* m, I% x4 M4 b! y
  359. BEQ WRE
    ' O+ P9 R' A% c) R8 ^
  360. LDA #$00
    , D+ ?2 R' P- e( T- {% z
  361. STA $7FA0' N! `# H& H# m, a

  362. " b1 B2 I9 W& f( S" e  z
  363. WRE:
    # i: a9 n1 j: m( Q9 U; s
  364. RTS: p0 v) e. Q9 I1 }3 f" [' ?
  365. 2 [. r& q6 G5 l+ K
  366. WP1:/ v7 e; q/ {) p- A# b/ l* S
  367. LDA $7FFF' v' i9 B4 N* b# |2 Y6 z
  368. CMP #$FF- z7 ]. l1 E, }$ p$ @: q" z/ ?2 q
  369. BNE WRE+ l5 q% Q9 R2 L: T! {
  370. LDA #$00% P6 Y3 d6 o0 n5 l
  371. STA $2001. m% x+ y9 \5 G
  372. LDA $BD
    0 n; [; }: U0 C
  373. PHA
    7 |$ D' f. [, R. B
  374. LDA $BC: o$ n* C1 M+ E/ \' z* f
  375. PHA3 G! ]1 R& o2 k. O: ~3 y) {
  376. LDA $BB% Q% u/ L( a  D! U1 `$ R8 t/ W0 g- C8 F
  377. PHA) q3 F! r# K1 t8 o
  378. LDA $BA( y, [/ B, E9 O. D% _1 m
  379. PHA- t+ p; c$ L" |  E7 k( v+ _
  380. LDA $B9
    " O- m$ q6 I; s9 Z; U5 [; ^
  381. PHA% i( K# W  U' y* q# b/ I( k% C9 o7 ]" z
  382. LDA $B8$ d: x. }& }+ F& s9 M% j1 y
  383. PHA3 b0 @5 ?, T) U7 @% p( x; Q" a
  384. LDA #$00# h+ V0 E, S& N8 T; \5 M9 R& W
  385. STA $B81 B2 I2 h( t1 S+ P
  386. STA $B9
    . _8 o9 L& z2 }
  387. STA $BA5 u" A* P/ K/ ~( n
  388. STA $BB
    . V' ~/ H4 p0 S2 A0 I2 h
  389. STA $BC
    6 _* }  T: `( ^; ]
  390. STA $BD
    0 z$ i, C. {3 _2 I0 u8 B
  391. LDA #$00
    0 J7 O- ^% ?/ j# e9 F
  392. STA $7FFF5 G" F* y6 y; Z) P7 V" ^; ]0 H" f/ I# n
  393. 5 T) F6 e% H1 R4 j1 U1 p, v) W) d
  394. WL0:" g. v; V3 _' U9 F9 H, K% w: v; I
  395. LDX #$00+ x1 G. l2 Y/ ~
  396. LDY #$00) M, U- s. c$ P" o
  397. LDA #$00
    - y( d' o: C& T8 _$ U
  398. STA $BA
    / V% n8 y, g( l# e5 J( M0 O
  399. LDA #$20
    . E9 x/ c# \1 t6 C
  400. STA $BB+ Y9 k# I3 E: p! h1 L
  401. LDA #$001 A4 U. ~  L4 k- C
  402. STA $BC9 ^: A) z+ F2 N7 k
  403. LDA #$60& _7 n: }) ]; R( M' l9 i$ Z
  404. STA $BD. _8 s' {9 O$ u) B6 p

  405.   s; _# g0 ?% j# T
  406. WL1:
    3 z8 _( s% |8 I% C) ~
  407. LDA $BD9 r0 V* _  V5 i  Z& Z
  408. CMP #$68! Z8 h6 c) I: Z/ n9 R
  409. BNE WL26 m; @6 ]" r- ?+ [+ @1 A
  410. LDA $BC
    9 J6 P9 }  V7 e3 ]
  411. CMP #$00
    $ b1 ^9 D1 g% h! K7 K  L
  412. BEQ WLR
    % N& g% H7 d; H# c

  413. ) I# V: Q2 f1 B) D+ c
  414. WL2:1 F" u0 p6 A* t0 ?/ p% v
  415. LDA $BD
    8 m( m( ?7 K) t
  416. STA $2006
    5 m; _' {$ X" V
  417. LDA $BC
    4 W7 S5 s# o' i& T- l
  418. STA $2006; u/ a: K' B4 V5 G0 K
  419. . p( {2 c8 ^0 o3 C, j. B6 i; _
  420. WL3:. f7 n5 U, r# J9 Q
  421. LDA ($BC),Y
    2 G4 b; m3 G1 W/ Q% a2 W2 Y6 b. y
  422. STA $2007
    2 }2 {8 S. e  y9 j$ F% }1 D

  423. . o' S6 U/ C$ N' _. Q3 y
  424. WL4:
    % Z% N2 w# i( s. o
  425. LDA #$00& h* G: i& G; x, w% C* z
  426. STA $2000
    ! S+ G, E& X3 j& W0 L
  427. INX* P, j1 \1 [3 V6 \* f8 s
  428. INC $BA# l3 m& l( d% Y, ~" U: k9 @& ^7 B
  429. INC $BC
    / |' A) b. ^5 W! R
  430. CPX #$00
    # n3 @4 T) V( ^
  431. BNE WL17 Z1 i4 N' N. B0 A7 r6 b; N) d& T. k
  432. INC $BB
      g, T* j* f% B1 e- `
  433. INC $BD
      K1 b& \9 n1 R
  434. JMP WL1
    1 t3 _; a' ^/ {

  435. 9 ]4 n- S6 x7 v) u0 `9 x
  436. WLR:) d8 G# F  H  S/ G  @6 b! t
  437. LDX #$00
    $ D4 d8 K4 B  U
  438. COPY_7F00_7F3F:
    0 J: l+ }6 |* H5 Z# q  S! R: b6 x
  439. LDA $7F00,X# b/ Q9 L% w: p8 y+ ], _. g
  440. STA $07C0,X
    ; y, m) D: C' `& v2 g
  441. INX% q  r# _9 N5 y. B
  442. CPX #$408 P4 ]5 M% R; C1 j5 I
  443. BCC COPY_7F00_7F3F$ S4 F$ t( l0 J2 R+ |6 H

  444. # G: V, f8 q0 n6 W
  445. LDX #$00' ^; ?2 y! ~  a  T" I
  446. LDA #$3F- j$ W4 m( S. c( [
  447. STA $2006
    , T5 y; Z/ b* O. z$ x0 d6 D
  448. LDA #$00
    ) H5 z8 X& l6 y% |8 ]  t) o
  449. STA $2006
    8 e/ C, F0 [7 g
  450. COPY_7F00_7F10:
      J+ |/ R4 k1 Q; \4 ]* M. i" Y- \
  451. LDA $7C0,X8 w, I* E% f6 @6 O6 x; P
  452. STA $20077 }. m  j5 B8 {+ s- u$ w
  453. INX  T  u& m5 p4 I* M: Y
  454. CPX #$10
    5 T4 W/ ?) p7 i& ~- C
  455. BCC COPY_7F00_7F10
    : B5 o4 [2 H! Z6 c6 Z5 f; e) e

  456. 7 O, P; P# v, x1 J' g
  457. LDA $20028 E7 A4 Z6 t& Y: }% z5 b' y6 }
  458. LDA $FD
    - }9 t1 |5 n$ @! y
  459. STA $20058 O$ c" s' t, z5 T" v
  460. LDA $FC
    % j( [; K' x7 S4 x/ t2 u+ b* v
  461. STA $2005! C' r$ A& ?6 Y( f1 L6 }. k& k5 k
  462. / b1 G' S! X% Q+ C
  463. LDA $7F50
    + `0 A# y) p8 |: L
  464. STA $FE, G- [$ x! v- E7 ?2 g, f5 i. r" V
  465. LDA #$00
      {" T6 c  X# u& t6 a  E
  466. STA $2000
    / K2 t5 D5 Y5 b
  467. PLA: M: C' E, r/ v1 K1 |  p$ W
  468. STA $B8
    8 b0 R$ G. h8 p% u
  469. PLA
    / o+ G9 d6 i- T3 m$ d2 g
  470. STA $B9
    6 G( K8 @# L0 [- W7 R
  471. PLA
    4 J* b! h0 S5 P/ D
  472. STA $BA
    6 o1 k! G6 \. {* k" t, n
  473. PLA5 C. w# [' u' m; h
  474. STA $BB
    ; h% I( q% b+ x# W7 K
  475. PLA( ?% [3 k9 ]7 ]) ]2 U/ d
  476. STA $BC8 U7 @% H: [6 E/ B! F/ O; M: N
  477. PLA; }8 P8 U# R( m) ]
  478. STA $BD! z+ v! B0 t" v& L

  479. 8 r4 f4 [; z3 ^6 {8 U/ _5 I8 c
  480. RTS' B1 _* w) ?: U) G

  481. $ _3 W, E9 P. u" r" I- x# W7 k0 M
  482. PPU_CMP:
    3 ~4 K; R% [, [7 S' z

  483. 8 a: L0 ?/ W+ L6 q$ L+ w- A( r1 n+ B7 j

  484. + w5 k% u8 O! v" l% x/ r
  485. PPURE:
    6 b) w) M" _, n1 B1 c( y8 p/ O% n
  486. RTS7 f, P7 ]' t( {

  487. # c* h" c& n6 o
  488. # `9 L; z+ C8 b+ H* J
  489. FREE_PPU:: Q8 o3 p3 W1 \) B% q, M

  490. ' V& ^$ V; n& g0 O
  491. JSR TEXT01_PPU3 a& N( X8 b( R5 `5 T
  492. JSR $CBC0
    # {: Z; D' h7 i
  493. JSR P1_PPU$ x# C  `0 @  K( s: u
  494. JSR P2_PPU
    + D5 r+ u# X) M9 [  k
  495. RTS2 _5 G: i) J% G

  496. . i5 D% O4 k- k9 v$ K0 x; k! R
  497. TEXT01_ADDR:7 Y! R: Z8 Y" L  E: F" J. ~
  498. .BYTE $20,$42& k- G+ y: G/ k
  499. TEXT01_DATA:2 f: m9 l& m6 ~. A0 H/ p3 d
  500. .BYTE CH,CA,CC,CK,CSP,CB,CY,CSP,CF,CL,CA,CM,CE,CC,CY,CC,CL,CO,CN,CE,CSP,CI,CN,CSP,C2,C0,C1,C7,CEND
    9 h. r$ ?2 |5 |5 W/ w+ q, a
  501. TEXT01_PPU& q1 C2 p9 A% x6 q6 v$ P! u9 p
  502. LDX #$001 Y: e" r) ?$ f0 z' J* i9 A
  503. LDA TEXT01_ADDR
    ; w* y8 f  F* z9 W8 E# _2 Z
  504. STA $0703: j( J2 k& D% V3 L% x+ A! j
  505. INX0 |$ O* |- Z* b% Y
  506. LDA TEXT01_ADDR,X2 w* n5 l4 q# Q& i' z( @& P
  507. STA $0704
    " v/ H5 [6 h' h& Z2 }  M
  508. JSR PPU_PROCESS
    6 r, t4 Q/ C& k1 F5 D9 |1 |7 g
  509. TEXT01_W:7 h) }4 L* j5 b; D
  510. LDA TEXT01_DATA,X
    . n+ l2 p' F, X" p+ i  ?& W! g! J
  511. CMP #CEND
    - J4 c* C2 Y$ G; X
  512. BEQ TEXT01_START# u% ^. g' W5 n7 F: Y
  513. STA $0705,X
    / w' V) S9 L3 I2 c4 q7 V
  514. INX
    9 f; }2 Z$ R' q7 {# y# p  Q# Q. ?
  515. LDA #$00; w, K: ]" o9 j) m% L" L
  516. BEQ TEXT01_W$ d1 ]1 k- B9 e. d* g! X
  517. TEXT01_START:
    6 S5 ]0 Q" z: ^* h! [
  518. JSR PPU_START% i9 J" ^( ]4 m2 I( J- b3 t! W
  519. RTS# E, Q) c( k, D

  520. $ t7 K/ ~+ q5 c7 ]0 a

  521. . A1 g0 z8 s; T" D
  522. COLOR_DATA:( T  x! {/ z+ I" |% M
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    + ?+ o' t+ Q, ?

  524. " y  r  |6 G" H7 O7 z; H1 K) C
  525. P1_PPU:
    ' v. p, ?; ]) n# @3 {3 G5 T  ]
  526. JSR PLAYER_01_PPU
    * A% l! R% d3 i6 w! `
  527. JSR $CBC0! c; v* j7 Y8 V8 ?+ f1 j% E
  528. JSR RELIFE_P1_PPU" F$ |0 k$ l* _  s3 d
  529. JSR $CBC07 n. c( o( _! w9 {+ Z9 P; o
  530. JSR RELIFE_NUMBER_P1_PPU7 e8 s% D: M2 ~8 k: v
  531. JSR $CBC0& Q+ ]3 T5 @0 n) h  v; A
  532. JSR WEAPON_P1_PPU
    5 F( F" H' U" i$ {: c
  533. JSR $CBC02 [  y- i( ^2 A, r' F
  534. JSR BULLETPPU_P1_PPU5 l; I( `- X: ?
  535. JSR $CBC0! H, ?, |6 Y; F) v/ k  [2 T1 n
  536. RTS( Y- ]/ _9 I7 q9 N7 ~5 y
  537. / E) p- P& _  N9 Q  g8 F5 |
  538. P2_PPU:/ c+ N- Y: q4 n( Z
  539. JSR PLAYER_02_PPU7 N4 |8 {3 l. R4 v& F
  540. JSR $CBC0& R1 e$ C5 }; v; z2 N$ \
  541. JSR RELIFE_P2_PPU
    # k+ m% I/ k; ]2 J( l
  542. JSR $CBC06 W5 M; U  j0 m; R2 ^' ?+ ~) f, x1 \
  543. JSR RELIFE_NUMBER_P2_PPU
      p0 Y- g  Z' n( r+ e3 k% l  z
  544. JSR $CBC0
    ) @7 W% s1 U4 r2 M
  545. JSR WEAPON_P2_PPU
    % G, }% U+ J  B
  546. JSR $CBC0, M4 d( `( [1 A! B- |; q
  547. JSR BULLETPPU_P2_PPU
    0 X" I' M& E$ m/ _2 u
  548. JSR $CBC0& z/ Q8 ?' P( V1 e0 O
  549. RTS
    0 W- I8 D3 i9 G7 K4 \& W
  550. ! Q$ r! D4 b& U" a1 G4 \* c; N4 h6 j
  551. ! p4 z2 b  m3 U5 V, M% e

  552. ) L! Q+ T7 Q2 x( A8 G
  553. PLAYER_01_ADDR:
    ; ]9 L) ?, K: {7 p% U+ x; R
  554. .BYTE $20,$A3
    ) S/ I  C) P$ O" e& A' i* Y
  555. PLAYER_01_DATA:( L  v1 D; i3 }
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND7 x! M9 _7 b. a/ J
  557. PLAYER_01_PPU:3 _( u, X! `7 ?8 G7 M
  558. LDX #$00  L4 t$ {- S& i& o% b0 L  q$ [: q
  559. LDA PLAYER_01_ADDR3 p, ]) G' g6 A) G) {
  560. STA $0703
    9 D  Z  o1 G4 D. W6 c
  561. INX  g% l/ H* z3 X0 y) }. W  j
  562. LDA PLAYER_01_ADDR,X
    4 S. \& O) {4 |' I( `
  563. STA $07046 F, R$ E. q) @1 p: E, |; E
  564. JSR PPU_PROCESS
    / d+ R+ ^' ~. M2 D$ k: r: V
  565. PLAYER_01_W:
    , d0 L. c9 D7 R4 Q$ S
  566. LDA PLAYER_01_DATA,X* b, l6 w; l0 o% z3 b
  567. CMP #CEND
    # T0 i$ H& P  ^& V/ x# x
  568. BEQ PLAYER_01_START5 S& }; J4 t8 v* I- {# o! o
  569. STA $0705,X* p( d/ O( D5 p8 f
  570. INX6 b+ S7 N9 u; X2 T
  571. LDA #$00
    ! Q" H6 o8 z  T- C  e# G3 B* F% s
  572. BEQ PLAYER_01_W. a( ~) P# o& j5 A3 x$ `3 |3 M9 W
  573. PLAYER_01_START:! Q" f& ?* ~7 A
  574. JSR PPU_START% R9 _9 O$ x4 h/ {" a
  575. RTS5 g4 l/ v% u+ E( @% \' L, Z

  576. 8 x' {0 s9 G- ~& U9 r3 {

  577. , {% r. m& e# f1 k7 F; ^
  578. RELIFE_P1_ADDR:4 K6 V: _7 z+ Q" f" B2 U
  579. .BYTE $20,$E3$ C+ G! t  C9 T
  580. RELIFE_P1_DATA:
    ' j' O* L2 k: h# j/ O2 a* j
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND3 G* l( l" K' v- g8 ~5 R
  582. RELIFE_P1_PPU:- {* g4 A: w0 R
  583. LDX #$00  f  x: z% E* @: ^3 S9 \
  584. LDA RELIFE_P1_ADDR* t: w! F9 Z, z' d8 C+ w, ?+ ]
  585. STA $0703
    ; Z* s0 C! g0 [& M0 [5 ^0 _
  586. INX9 ^8 _% Y6 n; I
  587. LDA RELIFE_P1_ADDR,X
    & n( D- p: b% k; J
  588. STA $07044 q" K% ]5 w  V4 }& q
  589. JSR PPU_PROCESS
    , v- f1 \( Z+ Z  N' H* y
  590. RELIFE_P1_W:
    5 E: l0 u; O7 \! t7 `$ e3 s  ~2 ]
  591. LDA RELIFE_P1_DATA,X
    " w' d* g1 w! m( {* z
  592. CMP #CEND
    4 X& N. Y# R( b  K
  593. BEQ RELIFE_P1_START$ F1 a5 B# O* K' b# ~8 F9 E- L
  594. STA $0705,X
    . r% u( C7 e7 U& H
  595. INX$ J0 ]$ s" ?% z8 v7 A( l' c5 p
  596. LDA #$00
    9 Y+ a7 `3 V  Y- `( `& L0 l
  597. BEQ RELIFE_P1_W
    8 ?/ N9 o' W  H; t- L: `
  598. RELIFE_P1_START:0 x1 [' L2 o: n" y7 v2 D+ X+ Y
  599. JSR PPU_START
    , B1 W# Q  a2 N, s2 l* A9 ~& w6 K
  600. RTS
    + D" z. e5 b5 M& c  l; V) G! I2 m

  601. & h; W5 g; `- i/ z+ I+ s

  602. 1 a+ h" j+ \" I" r' e6 n
  603. RELIFE_NUMBER_P1_ADDR:2 H: W9 ~/ l4 Z7 r4 D" h0 v) I" R
  604. .BYTE $20,$EA
    ; D% U  f2 U7 P7 m  M! z
  605. RELIFE_NUMBER_P1_PPU:
    5 L" Q+ v* {6 d
  606. LDX #$00$ |- c+ C# B+ y- k5 {& Q7 @/ A* D
  607. LDA RELIFE_NUMBER_P1_ADDR
    ; J$ J% q, I  O% X" l! W; e" W
  608. STA $0703
    2 R; x, Y$ t: T6 R, C
  609. INX
    1 d3 V7 l/ t9 }# i4 {4 ]
  610. LDA RELIFE_NUMBER_P1_ADDR,X
    : c" l6 p$ r! o2 u; j
  611. STA $0704
    : N5 A3 n% y1 n/ \. @
  612. JSR PPU_PROCESS7 \$ i2 v$ x* G+ d; r
  613. LDA $32
    3 Q9 G1 L" R& R; T6 W
  614. JSR LIFETODEC
    $ Q3 o3 m' r1 v7 L* f
  615. RELIFE_NUMBER_P1_W:! c7 B4 x, ^$ \  N
  616. LDA $7A03+ T# _3 c6 E. Q2 i/ |
  617. STA $0705) J. D( C( }* t: H- X
  618. INC $0705  y7 o0 L" q0 A7 b, F! _
  619. LDA $7A04
    , ~4 b( `5 v% t% ~& Q& a9 N6 K
  620. STA $0706
    5 g5 T; U$ r# p2 r, P$ ~
  621. INC $07063 C, `5 f4 r$ c- f& L
  622. LDA $7A05
    1 {6 d0 M3 e% Y( a- p9 s
  623. STA $0707
    ( r/ @( s9 a: j% K& `6 i
  624. INC $0707% ~. y( r: A- }3 ^" I. ~
  625. LDX #$037 S% q8 p- n- O( Q7 k
  626. RELIFE_NUMBER_P1_START:2 i" l" j- N" k* U9 o3 U6 p
  627. JSR PPU_START
    8 G( S/ @, f0 {
  628. RTS! _  w& y: C9 ]
  629. # S9 Z) {$ c( R2 Q" U
  630. WEAPON_P1_ADDR:
    5 j2 G7 \/ T# _+ P4 `4 q
  631. .BYTE $21,$23) ]2 R0 u5 v7 Q+ t
  632. WEAPON_P1_DATA:2 S% M$ d2 g4 \" @
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND7 C. y7 j; x$ I2 z% N
  634. WEAPON_P1_PPU:
    ! f8 @! ~  k/ b* l$ F7 N- ^
  635. LDX #$005 X  L) E1 z; l
  636. LDA WEAPON_P1_ADDR/ y" e+ C! |% b6 G7 J
  637. STA $07037 f) n2 j% `9 Y1 n% L6 o
  638. INX
    7 A7 u3 J  S* n6 c  L- Y
  639. LDA WEAPON_P1_ADDR,X
    5 g' B  a/ |  d/ |; g+ F% J* `+ P
  640. STA $07041 R5 K3 J; o3 z6 u* R* {& A
  641. JSR PPU_PROCESS
    & l& p( x% Y* ?3 U, L* o
  642. WEAPON_P1_W:
    : d* a- e- z5 \8 w5 Q
  643. LDA WEAPON_P1_DATA,X* D) p# h% Q" _/ ~* G
  644. CMP #CEND3 U3 R% e2 {( f' Z2 l- g( a' l
  645. BEQ WEAPON_P1_START5 V9 v7 H# r" u4 g2 o  S* h8 R
  646. STA $0705,X
    1 z* y2 J- b) P9 g+ }
  647. INX# g1 g8 y% V; A) A  c# E/ `
  648. LDA #$00
    & C4 v/ ~% q  g  {) R9 _6 z
  649. BEQ WEAPON_P1_W
    9 q( f: w& `% R2 h: j* t2 ^% N, L
  650. WEAPON_P1_START:
    / z* Z+ V7 M' m; X0 r
  651. JSR PPU_START
    ( @$ F$ d- P% j* e$ f& F
  652. RTS
    1 T- `1 A5 z7 M# G! D8 B5 B* q

  653. / E9 x5 F9 S" X" k. B9 P2 v
  654. BULLET_P1_ADDR:6 t0 j% i, j, j! E) s, ?* }# T
  655. .BYTE $21,$2A* e3 h3 S, |7 |4 h
  656. BULLET_P1_DATA:% ^$ Q2 i) H" p
  657. .BYTE $00,$01,$02,$03,$04
    ( _& G& A( n; o+ G0 |8 j
  658. BULLET_P1_NAME:
    6 f- F; Q* C& M: Z( V' D
  659. .BYTE CN,CM,CF,CS,CL
    9 J' _9 j" `2 y3 H) F" f5 ]+ v: W

  660. 3 U: [' w& N& F* c, O
  661. BULLETPPU_P1_PPU:/ A3 u7 i, ^* A5 d' p
  662. LDX #$009 H5 p1 j; A2 G8 q) z
  663. LDA BULLET_P1_ADDR
    ! h) `2 r6 ^2 g& ]( u) S" n; V7 Y
  664. STA $07037 M. Z: J1 f# ^) U4 M3 ^
  665. INX
    ! r) m& E* s- P
  666. LDA BULLET_P1_ADDR,X5 S- v8 w5 c( }
  667. STA $0704
    , |7 W. j1 H; d7 i6 m# z$ x
  668. JSR PPU_PROCESS! d9 z5 C$ C. A' m- h' t- y5 c
  669. BULLET_P1_WRITE:
    7 t, T. k& P( `
  670. LDX #$00, z9 u8 z; M, Y9 E2 \1 G- E; d1 i
  671. LDA $AA' R' {7 X+ T6 E  W0 b1 w7 s: ~# I
  672. AND #$103 K/ P0 \& L* F
  673. BEQ C_BULLET_P1" g4 S" S* I' K* k
  674. LDA #CS
    & g* }+ z1 p% @8 F1 R2 E
  675. STA $0705
    ! V0 O, I3 L/ W3 k" V; ]# R
  676. BNE B_NAME_P1
    , h  S. W! Q5 |9 O
  677. C_BULLET_P1:
      w8 b9 n. ?4 S2 e
  678. LDA #CC
    $ X  ^6 B& `) e9 h6 w
  679. STA $0705
    + {. Y& q, T; x* n& }: S0 [$ I' N  t
  680. B_NAME_P1:3 f! S$ ^2 n2 V6 A; ^
  681. LDA $AA
    : x! m: y3 Y4 c3 g
  682. AND #$0F0 ^' E8 d; p$ j$ s1 o
  683. CMP BULLET_P1_DATA,X! E9 R2 a/ A0 u. d9 w
  684. BNE B_NAME_P1_RECMP. X: b9 F! g$ _$ M  a) v% i. \
  685. LDA BULLET_P1_NAME,X, H2 n/ R( H; h2 K/ o1 p& M, w$ V
  686. STA $0706
    . {& l. R5 W! F/ P! Y9 N, s! q3 H
  687. B_NAME_P1_RECMP
    . g2 ^  R( u8 i' |; x& u1 Y
  688. INX9 `0 N  Q! N/ l) e, V* h0 {1 C2 d
  689. CPX #$05& k- o. A9 v' s- l1 n6 U
  690. BCC B_NAME_P1* i% e/ m' f) b$ }5 Z2 r2 t! ?
  691. LDX #$024 t2 _* M# B. I+ R% v
  692. JSR PPU_START1 F* Q0 X# t+ v
  693. RTS
    3 h5 ]4 R* }" [, B1 g  Z- K
  694. 5 O1 H" r( m2 |1 `
  695. ! {- T0 w/ g/ }- H9 L+ [
  696. PLAYER_02_ADDR:
    9 L4 N& M2 K# k' F  k
  697. .BYTE $20,$B3
    5 p5 f) `: T4 {8 r; z$ J5 x# t* f6 c
  698. PLAYER_02_DATA:  ]4 [# S) d$ B, l! T
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    ) F3 P2 p: {$ P: K4 {7 k
  700. PLAYER_02_PPU:1 |- Z6 ~0 a9 w8 y4 ?9 l. l" D6 B
  701. LDX #$00
    , W0 V9 ]0 R" S) Y2 Z
  702. LDA PLAYER_02_ADDR2 q4 _6 k: R- S7 O
  703. STA $0703) Y$ O0 E) Y: O: p- d+ P
  704. INX
    ) @# K7 |) Z- l0 z' Z
  705. LDA PLAYER_02_ADDR,X+ j( S- @" k0 ~% q4 _; T9 K
  706. STA $0704
    4 W0 V$ Z8 C+ G
  707. JSR PPU_PROCESS' o5 w9 E, e% H( q% m' a
  708. PLAYER_02_W:4 \. I; ?" L2 h' r% D$ X; G4 }2 \; ~/ q
  709. LDA PLAYER_02_DATA,X2 }' Z, }- |* c2 e* K: u
  710. CMP #CEND/ r/ g# R% O( t4 a, }! L7 {
  711. BEQ PLAYER_02_START
    4 o9 x$ y+ m( r# M& A3 B3 ]
  712. STA $0705,X. K6 H) l: N* |$ V6 U1 C
  713. INX
    8 [8 ^' Y5 U- x* x2 B' T
  714. LDA #$00% q* h( ~$ e% l5 p) u
  715. BEQ PLAYER_02_W
    ; J! Q3 a. `2 `1 y; |! V0 [; u
  716. PLAYER_02_START:
    2 x  e3 C6 t4 A8 o- {( z
  717. JSR PPU_START# \/ h: P3 }, K
  718. RTS
    6 T. d* t) t6 F
  719. 1 E. N. |+ N9 A, ^8 A9 b
  720. " U) t. Y$ h+ E3 `  J
  721. RELIFE_P2_ADDR:
    ( n. d. H  C+ U& W
  722. .BYTE $20,$F3/ e2 W+ t) {* P$ ?
  723. RELIFE_P2_DATA:
    7 L7 @' S$ x6 E# L: M8 D! l
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    ; J0 J/ T( ~* ?6 `) U
  725. RELIFE_P2_PPU:, A* A3 o. L; J( d1 f) U
  726. LDX #$00
    ! c/ x  p! b# Z- Z
  727. LDA RELIFE_P2_ADDR. K# y. m% y5 o% q% q! e
  728. STA $07032 h& p5 r5 u: Y- A5 p; c3 b
  729. INX
    & v, z+ l' u" j5 u. v" b! k( I
  730. LDA RELIFE_P2_ADDR,X
    0 b. ~( I1 q4 H& e  t
  731. STA $0704
    ' P# Q, g. M6 [8 B
  732. JSR PPU_PROCESS
      S9 k3 Z! ^0 b: Q1 u( h6 x
  733. RELIFE_P2_W:
    & e4 D/ u0 g6 m! O7 F
  734. LDA RELIFE_P2_DATA,X' G7 }: s; r& Q, g! V1 [3 ~7 k
  735. CMP #CEND5 t7 y! u3 f8 f, I9 m$ V- r* e: l
  736. BEQ RELIFE_P2_START; @4 c# C# Y' g6 V- m& j
  737. STA $0705,X
    + i+ s( ^# E4 b) P% G: J
  738. INX
    ; w, ?6 k7 z' [% H2 ~$ u0 u! v1 }" d
  739. LDA #$00: _, b( V, v! u7 W5 u8 ^3 S* m3 n2 c
  740. BEQ RELIFE_P2_W
    . l* b3 K3 Q1 Z$ {0 W2 [+ f# a7 z
  741. RELIFE_P2_START:3 e0 }( u6 e2 y- |6 N3 `! x+ W& }
  742. JSR PPU_START
    5 U- O8 K0 ?8 l5 Z
  743. RTS
    ) [" W/ q0 M8 x+ U7 T* b) ?
  744. 1 p3 n  `6 n3 _9 J' L' s1 a

  745. & p" J) ^9 S, G* K: X. R* P* Q
  746. RELIFE_NUMBER_P2_ADDR:3 l) i8 V$ m5 K! t/ [7 _
  747. .BYTE $20,$FA
    , }! R( W8 _1 J- g: T- G* y. N0 m# Q
  748. RELIFE_NUMBER_P2_PPU:. M0 e3 T' _% l( F/ j) Q
  749. LDX #$00$ J: C8 R1 w: t( V% e) d5 ]
  750. LDA RELIFE_NUMBER_P2_ADDR
    / i' e7 m( K; k4 X: g0 S3 S
  751. STA $07030 i& m( |3 j8 [. q+ E
  752. INX
    # Y* }: Z/ L# T- g% w; K1 ]
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    # k: `& m2 F3 y
  754. STA $0704
    ! v7 ^6 [/ R: u# k3 r
  755. JSR PPU_PROCESS0 I. ~3 @  i8 ~6 [0 y% b
  756. LDA $33) y  n$ G- m1 r  U9 e1 `9 h, e
  757. JSR LIFETODEC
    4 y! w, j* J9 \5 Y4 w" F% `
  758. RELIFE_NUMBER_P2_W:
    % v5 s& o3 M4 x- {
  759. LDA $7A032 B3 k& u  W, p" G) y
  760. STA $07059 n7 \& c' ]! u8 }
  761. INC $0705
    3 T" l  H/ E  n0 k' }5 ^
  762. LDA $7A04
    $ s/ V; x# S7 s
  763. STA $0706( h) y! a1 e! j6 ~
  764. INC $0706
    , x) J/ }1 S. S6 q5 Q
  765. LDA $7A05
    % J  V: W- `- ?8 o
  766. STA $0707( J6 r, j! J, e5 F4 J
  767. INC $0707
    * y8 R1 S# J  O3 h& |
  768. LDX #$03+ v* ^, N& C+ j2 X! R* n
  769. RELIFE_NUMBER_P2_START:
      Q* H, U$ i5 @- c$ D. F! C* W' j( c
  770. JSR PPU_START; s+ a' _! a! a3 k. Y, o  s
  771. RTS/ w, f1 {, _3 d, C, l" c1 ]9 t

  772. : }0 h. ]( t6 T$ h$ g
  773. WEAPON_P2_ADDR:
    / U# {, X2 Y2 l' h
  774. .BYTE $21,$33$ E) `$ ^0 F: N( v( D6 f% b
  775. WEAPON_P2_DATA:# V  P) W7 _, s, b8 V
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND
    # N# d" P; |1 i- w  f" R, W
  777. WEAPON_P2_PPU:
    2 y3 _8 x( g8 `8 ^' O( L
  778. LDX #$00% j+ d; [! |9 ~, G, h
  779. LDA WEAPON_P2_ADDR8 d; @. k" K) s
  780. STA $0703
    ) M: {, F7 _5 h0 z7 x
  781. INX
      P9 ^2 z! ?) W7 \* y
  782. LDA WEAPON_P2_ADDR,X2 I+ x* G$ ]; {7 E5 a: ?9 n8 }  y
  783. STA $0704
    9 ~. P) Z4 r) {1 n
  784. JSR PPU_PROCESS* j1 ]$ K7 m$ _# o7 H) A( E: `+ `
  785. WEAPON_P2_W:( ^: c5 F  \/ [$ z8 A  p( E! _0 C& d
  786. LDA WEAPON_P2_DATA,X; l+ @2 g1 q  ~' o# ^, _) Y
  787. CMP #CEND
    ) a1 l9 H3 _2 g# \1 l
  788. BEQ WEAPON_P2_START
    / I9 K% f1 {& e6 O$ _3 E" _# u
  789. STA $0705,X
    / g9 }4 n$ A2 n5 j% d: j
  790. INX
    % m0 G  @+ Z/ n7 ]4 p9 ^/ @2 P
  791. LDA #$00  m% U1 l/ x! P$ [8 d2 v# \; ~/ l
  792. BEQ WEAPON_P2_W' K. }7 P  k# y- y
  793. WEAPON_P2_START:
    7 `5 J0 @$ Q2 G; }% b2 h
  794. JSR PPU_START
    2 E" L5 S3 h4 i! X3 n! C+ B
  795. RTS& {4 o% t2 u5 D, ?

  796. ( _. y# m, m& ?# C& t$ h& ~
  797. BULLET_P2_ADDR:
    5 g' o8 m' o6 D/ v+ H8 J
  798. .BYTE $21,$3A
    8 @/ I3 U. Z* P, A: Q+ Y1 m  f* B
  799. BULLET_P2_DATA:1 @- H+ R, A3 K0 D0 w
  800. .BYTE $00,$01,$02,$03,$04. |- H; N7 B5 }
  801. BULLET_P2_NAME:
    6 d4 a% C' p( o( @3 {& R
  802. .BYTE CN,CM,CF,CS,CL- p; k% g$ {( m  ]" K

  803. ; J) ^4 p0 h* z5 g
  804. BULLETPPU_P2_PPU:7 u% v. C* x$ v5 s
  805. LDX #$00+ K/ }: ^* f- d, q; n9 I
  806. LDA BULLET_P2_ADDR
    , p5 W$ r* |. L0 C2 Y. ?8 R$ U
  807. STA $07038 R+ T) L; l$ J+ F
  808. INX7 E2 z4 Y$ ^. ]
  809. LDA BULLET_P2_ADDR,X
    3 n2 @( k+ w  Y1 y$ x- z
  810. STA $0704
    * m7 r# \* A* q; `
  811. JSR PPU_PROCESS9 H  x1 w9 d6 H0 |; X: u" j5 ^
  812. BULLET_P2_WRITE:7 m. ?5 i0 }3 i6 n$ F1 }
  813. LDX #$00
    9 p; o$ `& k7 L& j! d; `
  814. LDA $AA" C: F& }- w. T2 |7 q- C1 m
  815. AND #$10
    - M6 I7 H* U5 `
  816. BEQ C_BULLET_P2
    & }. x3 o/ q: Y8 ]  C: u8 X
  817. LDA #CS6 q/ g7 ^. C" W, b8 W8 q
  818. STA $07056 F+ `, F; Y  Q8 ~3 e# ^
  819. BNE B_NAME_P2
    # Z) K8 q, R. F8 E
  820. C_BULLET_P2:
    9 ~' B! H2 d6 W  @* o) j
  821. LDA #CC
    , Z' g3 h9 E. R5 o5 Q1 z. c: P
  822. STA $0705
    0 o3 W: w- o9 B! {5 o/ O
  823. B_NAME_P2:
    " v; q3 C1 ?  l1 M2 Z9 b, t0 b5 f1 U
  824. LDA $AB- E4 i1 o- T( G4 C4 L
  825. AND #$0F
    , p8 v, @: w& J; w. H9 j
  826. CMP BULLET_P2_DATA,X
    4 O+ I8 L, f$ E) o. Q+ P/ C
  827. BNE B_NAME_P2_RECMP9 ]& d* U1 y/ \1 S% e
  828. LDA BULLET_P2_NAME,X/ r- c9 C# l- V5 G
  829. STA $0706
    ' X  F6 \- H% b
  830. B_NAME_P2_RECMP5 z2 {" I2 a, B: ~
  831. INX
    ' U+ d  f9 @2 R1 X, M" G/ x
  832. CPX #$05
      Z# Y7 }8 W& f3 ]5 T- q+ A# w
  833. BCC B_NAME_P2- W/ j' Z8 I) U- H1 h/ Y
  834. LDX #$02
    3 U! Z0 ]" T' }; f# M1 I$ j
  835. JSR PPU_START0 d+ b; p1 T( ^% b7 H8 a
  836. RTS
    8 O* W. n( ^4 E0 h" F0 {( u
  837. 7 q. Z( Q7 R$ L1 {
  838. 1 L# ?0 s2 t6 ~1 ?3 C
  839. % G8 \/ s5 T- `8 @

  840.   Q! d" L6 R3 X' B5 O
  841. 1 i+ l+ p: E" Y3 ^
  842. , R: C2 p7 g3 r" H6 I2 O
  843. LIFETODEC:                ;十进制转换
    / X6 l- Z) V; ~* z
  844. LIFEL1:        ;initialise- M! F% h- e# U' |. U4 C. Y
  845. STA $7A00        ;$7A00=F3
    . V. i  ]: F3 O! f
  846. LDA #$00
    1 ~& `( y6 v5 L9 w
  847. STA $7A03        ;$7A03=00
    4 t  v& T" ]4 |6 d; L& R' @
  848. STA $7A04        ;$7A04=00
      H" b/ T, _5 o% ^5 q" @0 J
  849. STA $7A05        ;$7A05=00
    / V0 u" K4 i8 x& s
  850. LIFEL2:        ;copy data $7A00 to 6001) l5 j5 h9 V, P3 @2 G* q4 f% ^
  851. LDA $7A00
    5 A0 N$ T7 _* |' n: q
  852. STA $7A01
    ! B0 T8 ^+ M. O8 ~: E! E
  853. ' k4 Z: D: H, [. x+ m
  854. LIFEL3:         ;hundred
    4 @7 D5 h) |% n' y$ y
  855. LDA $7A01
    # P  C3 L& b/ A8 D9 y  m6 U
  856. CMP #$64
    $ E( ^+ @2 y$ _! Y( \
  857. BCC LIFEL6                ;$7A01<100 goto L6% J5 C; I  Y  M4 }
  858. LIFEL4:% `7 k3 r$ g& y' W
  859. LDA $7A013 \3 G% |1 p  M: ?% }
  860. SEC# r2 a5 q: H* b* [$ c5 @
  861. SBC #$64        ;$7A01=$7A01-100
    ) `1 E. A1 c* x& p5 u+ i. M
  862. STA $7A01; H* f& H2 [, r9 k" k3 W
  863. INC $7A03        ;hundred++
    , E) c3 _5 O5 @& M# @
  864. LIFEL5:
    % i! p' l3 W) W, g: v0 F/ z
  865. LDA $7A013 r( k. |- o( W5 T" x) [$ }
  866. CMP #$64
    8 w$ x: p: R' F7 a1 c
  867. BCS LIFEL4                ;$7A01>100 goto L4
    + t- h4 M4 y2 _0 v2 e4 O

  868. ; w/ k& m& k/ [- t
  869. LIFEL6:        ;decade# Y1 u' n! m/ L3 {$ G) p& v
  870. LDA $7A01
    4 ^2 T1 B! e. Y( Y8 f8 R
  871. CMP #$0A
    5 p7 q2 x+ }8 |: D+ d- ^
  872. BCC LIFEL9                ;$7A01<10 goto L9" d  a1 Q9 U8 Y0 c6 Z; r
  873. LIFEL7:        8 J: q! t6 a% k" h3 L
  874. LDA $7A01
    ; ?" m5 u$ s$ j$ Z+ o! ^
  875. SEC6 j( S0 M% T. p: y) s1 X$ U
  876. SBC #$0A
    5 p( F- ?* ~/ G, |; [9 N
  877. STA $7A01        ;$7A01=$7A01-10
    2 y% G) m5 D2 T4 `+ d- T
  878. INC $7A04        ;decade++% {: T* ^- ~+ G$ m1 R+ y
  879. LIFEL8:1 c7 W+ M" w& d
  880. LDA $7A01
      |% I4 i* T0 d# P  y1 F( P: T
  881. CMP #$0A+ u2 `3 A# C& Q! p" X% s& ]
  882. BCS LIFEL7                ;$7A01>10 goto L7
    * E' k  R  }# J/ ~1 @! F, w
  883. ;unit
    ! P5 x. n9 H" k* k0 e
  884. LIFEL9:
    - E! h# S- p! K6 `, D+ P4 e
  885. LDA $7A01        ;$7A05=$7A01
    ! L& `1 I+ M* H" q) t6 e
  886. STA $7A05        ;unit
    & \5 j, e- {7 Y* j  |6 u0 K1 K, J: _' V4 {
  887. RTS        ;return
    % u$ P; a* N$ A' E7 [8 u! p
  888. ! f# H$ B/ D- ^  N* c
  889. . \- f5 \* o$ R

  890. 0 g! G) ^2 E. G% g! |5 v9 [) i
  891. PPU_PROCESS: ;PPU地址处理程序8 T7 T/ L0 k1 G: ^
  892. LDX #$00$ t( S1 ~# U( ^: m, n- Y0 r
  893. LDA $FF
    8 y- v5 o& g/ c, P" i
  894. AND #$01
    5 S. {+ J  _. n; l5 {; q& K& U, \
  895. BNE PPU_2400_27C0
    & H( Y1 C+ {) E* U
  896. PPU_2000_23C0: ;命名表13 Z7 h# x; Z! b
  897. LDA $0703
    / V7 k4 S0 ?- q( k$ \9 Y- H  Q
  898. AND #$FB
    . e* k; B1 O9 u" j
  899. STA $0703" B0 j/ s0 W) h, e
  900. RTS
    # D) d! m$ k5 q! R$ S' N
  901. PPU_2400_27C0: ;命名表2& Y- ~% t: d6 }" M1 A
  902. LDA $07030 {# v. r2 n  k" D$ h1 _+ k
  903. ORA #$043 `- _" l. t7 P; i
  904. STA $0703
    ) y  U8 ~( k$ b4 x' Q+ {. A6 i* j) z/ P
  905. RTS7 @# F. D! H% a/ K7 ]) @

  906. & Q" j4 W6 [; c! C) J
  907. PPU_START:  ;PPU数据写入
    6 d6 i8 r. @; I- Q, d1 h: n  F' o
  908. STA $21- `; j8 s# g; [" u& g
  909. STX $0701
    5 m+ N# f- B; ?7 W1 O
  910. LDA #$00' g+ i8 l$ m0 F
  911. STA $0705,X
    : O( V4 R4 ?5 h5 {' V7 Y: s9 ^
  912. LDA #$01
    / J, w: I5 L0 ~3 _5 V+ L% n
  913. STA $0700
    + n& k, x) T8 D. W" E
  914. STA $0702
    $ k2 r9 a# v/ Q6 Z: G
  915. RTS
      O( {  {* p* t& o/ V% _! g

  916. 4 h1 B; n6 J6 i2 n
  917. % f' n6 U# t0 Z8 p

  918.   Z; r) m" M, Y/ M. p- j
  919. & g7 |9 k2 r# C3 ^, ?  C  n: ?

  920. ' ~: ~  a% ?# F; h5 {0 x
  921. 5 b: v- k6 X) A* F( i
复制代码

- l; ~! k3 ?- d* E, d+ g! I4 M

本帖子中包含更多资源

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

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

签到天数: 2139 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!' y% {& ?. P7 E" A; W
回复

使用道具 举报

签到天数: 2561 天

[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-26 10:55

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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