EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    ) Y, f6 R" {* O, s" U/ j% x
  2. 作者:FlameCyclone; m& w9 `7 j! c- A4 {) g
  3. 时间:2017.2.12
      ?1 h' x" a8 f- T) x# H& P+ S' Q9 ?2 C

  4. : S; _4 y$ E; G) V, j  S4 }1 H# H
  5. 按键跳转:' M2 z+ X9 R/ H' Z0 y- i* o9 n
  6.         C1EF:95 F5 94 F1( {: g7 _% l9 a7 P& \
  7.         C1EF:20 70 FB EA  b3 E- e( Y4 R3 I
  8. + h/ f6 E8 A* P* O) v  x
  9. 滚动偏移:
    * P0 a, y: I. Q4 |2 y. p  \
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20
    # A9 r9 q( z% r& }" q
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    3 V" i. @) f$ Q" `! U

  12. ; J+ Z: U2 e" d+ u  P0 R4 l4 G
  13. 背景调色板:
    $ [# Z3 W5 P- s5 j& z3 d  `
  14.         CF20:9D C0 07
    ' u8 L, A+ j2 h" h- I( _7 J; h
  15.         CF20:20 A0 FB
    . X; r) D2 q' H  z3 S; c
  16. 9 z1 v9 T2 a0 E
  17. PPU BANK号:( q/ u! l+ O+ a! J* h' m) o$ X2 j
  18.         C8C9:9D F4 07
    : H( t* c# L6 s/ @+ C
  19.         C8C9:20 B0 FB
    4 B- W- W3 {2 E8 l; z

  20. 8 s& L* m/ m2 ^- J+ i1 E
  21. 按键跳转:
    / F9 C5 r' @; |' E8 J/ N
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 202 L' I/ y. J" Y
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    + D" Q3 r+ i6 `4 q* B) q
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF
    ! B! S6 q; w. _! J) I2 b

  25. " J( ]9 z+ |1 @* X# t3 @  X
  26. 背景调色板:
    + g# f; ^* a, `5 [
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF+ [/ r+ h8 k7 @. J4 L5 V
  28.   k% H- `/ m/ V3 c9 Q, h3 A
  29. PPU BANK号:- s; h3 [2 @; }6 d/ k9 z+ j0 G
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF
    " t, |, m" l: {
  31. & D# S" i6 ~9 z/ B
  32. 滚动偏移:
    / A' t* S" _+ w0 e" H4 i( j
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60- ~! k$ P: a3 a4 U, [# M. i/ P; H
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    # b% x3 P4 _/ `  a

  35. 7 ^! u3 ?2 g6 f9 w, o5 N) b+ l

  36. & X; J; B  y' W, c8 G; J0 R
  37. 切BANK后A000:
    9 w( r! ^  f0 i  x  x
  38. A5 FF 29 7F 8D 00 20 AD 02 20 A5 25 C9 01 D0 0A B5 F5 29 CF F0 04 20 8C A2 60 48 8A 48 98 48 A5 25 C9 01 D0 07 AD 0A 01 C9 00 F0 03 4C AC A1 AD FF 7F C9 FF D0 19 AD A0 7F C9 00 D0 0B A9 FF 8D A0 7F 20 3A A1 4C AC A1 AD FF 7F C9 00 D0 DD AD 02 20 A9 00 8D 01 20 A2 00 A9 FF 8D FF 7F 8D A0 7F 20 6A A0 20 3A A1 4C AC A1 A5 FE 8D 50 7F A9 08 85 FE A2 00 BD C0 07 9D 00 7F E8 E0 40 90 F5 A2 00 A9 00 9D F4 07 E8 E0 04 90 F6 A2 00 BD 2A A1 9D C0 07 E8 E0 10 90 F5 A9 3F 8D 06 20 A9 00 8D 06 20 A2 00 BD 2A A1 8D 07 20 E8 E0 10 90 F5 A2 00 A0 00 A5 BD 48 A5 BC 48 A5 BB 48 A5 BA 48 A5 B9 48 A5 B8 48 A9 00 85 B8 85 B9 85 BA 85 BB 85 BC 85 BD A9 00 85 BA A9 20 85 BB A9 00 85 BC A9 60 85 BD A5 BB C9 28 D0 06 A5 BA C9 00 F0 27 A5 BB 8D 06 20 A5 BA 8D 06 20 AD 07 20 AD 07 20 91 BC A9 00 8D 00 20 E8 E6 BA E6 BC E0 00 D0 D4 E6 BB E6 BD 4C E4 A0 68 85 B8 68 85 B9 68 85 BA 68 85 BB 68 85 BC 68 85 BD 60 0F 28 28 28 0F 28 28 28 0F 28 28 28 0F 28 28 28 A5 BD 48 A5 BC 48 A5 BB 48 A5 BA 48 A5 B9 48 A5 B8 48 A9 00 85 B8 85 B9 85 BA 85 BB 85 BC 85 BD 8D 01 20 A2 00 A0 00 A9 00 85 BA A9 20 85 BB A5 BB C9 28 D0 06 A5 BA C9 00 F0 20 A5 BB 8D 06 20 A5 BA 8D 06 20 A9 00 8D 07 20 A9 00 8D 00 20 E8 E6 BA E0 00 D0 D9 E6 BB 4C 69 A1 EA 68 85 B8 68 85 B9 68 85 BA 68 85 BB 68 85 BC 68 85 BD 20 8D A2 60 68 A8 68 AA 68 A5 25 C9 00 F0 12 A5 25 C9 01 D0 0B B5 F5 29 EF F0 05 A9 00 8D A0 7F 60 AD FF 7F C9 FF D0 F8 A9 00 8D 01 20 A5 BD 48 A5 BC 48 A5 BB 48 A5 BA 48 A5 B9 48 A5 B8 48 A9 00 85 B8 85 B9 85 BA 85 BB 85 BC 85 BD A9 00 8D FF 7F A2 00 A0 00 A9 00 85 BA A9 20 85 BB A9 00 85 BC A9 60 85 BD A5 BD C9 68 D0 06 A5 BC C9 00 F0 24 A5 BD 8D 06 20 A5 BC 8D 06 20 B1 BC 8D 07 20 A9 00 8D 00 20 E8 E6 BA E6 BC E0 00 D0 D7 E6 BB E6 BD 4C 0E A2 A2 00 BD 00 7F 9D C0 07 E8 E0 40 90 F5 A2 00 A9 3F 8D 06 20 A9 00 8D 06 20 BD C0 07 8D 07 20 E8 E0 10 90 F5 AD 02 20 A5 FD 8D 05 20 A5 FC 8D 05 20 AD 50 7F 85 FE A9 00 8D 00 20 68 85 B8 68 85 B9 68 85 BA 68 85 BB 68 85 BC 68 85 BD 60 60 20 B9 A2 20 C0 CB 20 DE A2 20 FD A2 60 20 42 92 8B 8D 95 80 8C A3 80 90 96 8B 97 8F 8D A3 8D 96 99 98 8F 80 93 98 80 83 81 82 88 FF A2 00 AD 9A A2 8D 03 07 E8 BD 9A A2 8D 04 07 20 91 A5 BD 9C A2 C9 FF F0 08 9D 05 07 E8 A9 00 F0 F1 20 AB A5 60 20 28 A3 20 C0 CB 20 56 A3 20 C0 CB 20 7D A3 20 C0 CB 20 BE A3 20 C0 CB 20 EF A3 20 C0 CB 60 20 3B A4 20 C0 CB 20 69 A4 20 C0 CB 20 90 A4 20 C0 CB 20 D1 A4 20 C0 CB 20 02 A5 20 C0 CB 60 20 A3 9A 96 8B A3 8F 9C 80 81 82 FF A2 00 AD 1C A3 8D 03 07 E8 BD 1C A3 8D 04 07 20 91 A5 BD 1E A3 C9 FF F0 08 9D 05 07 E8 A9 00 F0 F1 20 AB A5 60 20 E3 9C 8F 96 93 90 8F FF A2 00 AD 4D A3 8D 03 07 E8 BD 4D A3 8D 04 07 20 91 A5 BD 4F A3 C9 FF F0 08 9D 05 07 E8 A9 00 F0 F1 20 AB A5 60 20 EA A2 00 AD 7B A3 8D 03 07 E8 BD 7B A3 8D 04 07 20 91 A5 A5 32 20 42 A5 AD 03 7A 8D 05 07 EE 05 07 AD 04 7A 8D 06 07 EE 06 07 AD 05 7A 8D 07 07 EE 07 07 A2 03 20 AB A5 60 21 23 A1 8F 8B 9A 99 98 FF A2 00 AD B5 A3 8D 03 07 E8 BD B5 A3 8D 04 07 20 91 A5 BD B7 A3 C9 FF F0 08 9D 05 07 E8 A9 00 F0 F1 20 AB A5 60 21 2A 00 01 02 03 04 98 97 90 9D 96 A2 00 AD E3 A3 8D 03 07 E8 BD E3 A3 8D 04 07 20 91 A5 A2 00 A5 AA 29 10 F0 07 A9 9D 8D 05 07 D0 05 A9 8D 8D 05 07 A5 AA 29 0F DD E5 A3 D0 06 BD EA A3 8D 06 07 E8 E0 05 90 EC A2 02 20 AB A5 60 20 B3 9A 96 8B A3 8F 9C 80 81 83 FF A2 00 AD 2F A4 8D 03 07 E8 BD 2F A4 8D 04 07 20 91 A5 BD 31 A4 C9 FF F0 08 9D 05 07 E8 A9 00 F0 F1 20 AB A5 60 20 F3 9C 8F 96 93 90 8F FF A2 00 AD 60 A4 8D 03 07 E8 BD 60 A4 8D 04 07 20 91 A5 BD 62 A4 C9 FF F0 08 9D 05 07 E8 A9 00 F0 F1 20 AB A5 60 20 FA A2 00 AD 8E A4 8D 03 07 E8 BD 8E A4 8D 04 07 20 91 A5 A5 33 20 42 A5 AD 03 7A 8D 05 07 EE 05 07 AD 04 7A 8D 06 07 EE 06 07 AD 05 7A 8D 07 07 EE 07 07 A2 03 20 AB A5 60 21 33 A1 8F 8B 9A 99 98 FF A2 00 AD C8 A4 8D 03 07 E8 BD C8 A4 8D 04 07 20 91 A5 BD CA A4 C9 FF F0 08 9D 05 07 E8 A9 00 F0 F1 20 AB A5 60 21 3A 00 01 02 03 04 98 97 90 9D 96 A2 00 AD F6 A4 8D 03 07 E8 BD F6 A4 8D 04 07 20 91 A5 A2 00 A5 AA 29 10 F0 07 A9 9D 8D 05 07 D0 05 A9 8D 8D 05 07 A5 AB 29 0F DD F8 A4 D0 06 BD FD A4 8D 06 07 E8 E0 05 90 EC A2 02 20 AB A5 60 8D 00 7A A9 00 8D 03 7A 8D 04 7A 8D 05 7A AD 00 7A 8D 01 7A AD 01 7A C9 64 90 13 AD 01 7A 38 E9 64 8D 01 7A EE 03 7A AD 01 7A C9 64 B0 ED AD 01 7A C9 0A 90 13 AD 01 7A 38 E9 0A 8D 01 7A EE 04 7A AD 01 7A C9 0A B0 ED AD 01 7A 8D 05 7A 60 A2 00 A5 FF 29 01 D0 09 AD 03 07 29 FB 8D 03 07 60 AD 03 07 09 04 8D 03 07 60 85 21 8E 01 07 A9 00 9D 05 07 A9 01 8D 00 07 8D 02 07 60 FF FF4 A3 F* P9 W* u% }

  39. 9 i  J- x( G8 b  r
  40.   Y* ^; D: }  t7 Q+ N9 \% w
  41. 6502 simulator:
    " m% C- n4 x5 Q$ q
  42. PPU写入程序:
    3 k! V% v8 N: t' ]4 ]4 e
  43. .ORG $A000& T, x; w! @  \9 W# K" T
  44. CSP = $807 ~' \; q+ Y* T6 i) d# j
  45. C0 = $81
    7 m% ^: q8 I5 R% u! G- j
  46. C1 = $822 L. J/ T. z- c) }
  47. C2 = $831 m0 I& \4 V# E7 U9 P: X
  48. C3 = $84
    2 c  f5 G& d  C  C, B7 x
  49. C4 = $85- X. i' C/ l) w( u* r; H' w
  50. C5 = $86- V2 N8 K1 l& v3 |. F, L2 C3 x: L
  51. C6 = $87
      r" `& [8 r  }
  52. C7 = $88; H, j* T* v) I3 u% Z5 L. c
  53. C8 = $89
    ' w6 \1 J! J! M, x* L9 X) P  O/ |: L
  54. C9 = $8A5 \* L  \) Y9 X7 F: s  `
  55. CA = $8B7 r- _) W6 c% a
  56. CB = $8C
    8 T! o4 M/ W) i: s: _
  57. CC = $8D
    9 D9 i& C0 L7 U
  58. CD = $8E' i$ M: [! p$ Z: _. g( G
  59. CE = $8F
    ! L; d4 I+ q) L; S; B6 V
  60. CF = $90" t2 S! h) ^( ?" t
  61. CG = $91  t* N/ ^/ d6 W) g- j
  62. CH = $92! _9 B) z  v' |$ M
  63. CI = $939 m3 r; H" t( d# I
  64. CJ = $94
    ) }# B+ v: v" H% R. b
  65. CK = $956 y; c8 r9 N  g' {' J. \
  66. CL = $96# f  k$ w0 Q+ |6 H7 X% {
  67. CM = $97
    0 o* |7 P) s$ v: P  J& f  A0 ^
  68. CN = $98
    5 d* n" B+ V- j- q
  69. CO = $99
    ; E" e, K/ t) d2 U" @
  70. CP = $9A( B# g' m- [5 M: T& d( K. E" T& e
  71. CQ = $9B
    : }% q5 O! K4 x/ }/ }% _
  72. CR = $9C
    $ H4 P1 A, A7 a. c
  73. CS = $9D
    4 E3 h( z% c4 r7 S6 Y: ~
  74. CT = $9E
    . C& b! U! @0 j- Z) w3 U& R6 _: }
  75. CU = $9F
    ) G' D7 V0 e7 o6 d& T2 ]* Q7 Z
  76. CV = $A0
    " X; s7 ]5 J& V7 c) n
  77. CW = $A12 M# p) N+ `' m( Y5 I/ O
  78. CX = $A24 _; u* {& p( Y/ X! C, y
  79. CY = $A3
    6 r; g* O; f) ~2 _0 }
  80. CZ = $A4
    0 ]9 i# ]$ j5 ]
  81. CEND = $FF5 c4 u; e* }# A8 f7 W
  82. 6 l6 p8 o. j! j1 t- L" ]$ ]/ b* \
  83. 1 s$ y$ B( s- R7 x* _
  84. CMP_RE:0 w6 ^. z; o% d2 l5 O) w
  85. LDA $FF& k) S1 D% G. h9 M; Q9 e8 C
  86. AND #$7F
    2 Z. l& `# _9 q1 m; L
  87. STA $2000$ T. q4 x! C" s0 ?/ g
  88. LDA $2002
    ; M& F$ o+ k. o/ ]3 ^. C
  89. LDA $252 l  v) Q- J# _& J+ h! J, s5 a7 J8 ]
  90. CMP #$01: ?0 E* ]& p% E# R, S
  91. BNE PROREG
    * \  r5 L- c/ x1 D6 M) \8 X9 f
  92. LDA $F5,X" L  {, K9 j5 ~& C
  93. AND #$CF
    ! P- W2 g, K( p( o1 I7 E
  94. BEQ PROREG9 D; _) P5 Q" R" i
  95. JSR PPU_CMP" O/ y, b4 U- i2 M/ w
  96. C_RE:7 {+ k. O3 B8 |3 q' F
  97. RTS! b$ ^$ v! @. ?4 j  E
  98. PROREG:7 A5 L( W5 w/ J5 h% s  `7 F
  99. PHA
    6 Z; L( l$ O* m4 K
  100. TXA6 z8 o2 Y. t" @0 o9 M# [* P/ E' ^- `
  101. PHA
    5 ]! M4 y2 f! Q
  102. TYA1 w6 W) F! ]" t( U8 {' P  U
  103. PHA2 [7 n' L9 H) {6 L8 _3 @
  104. LDA $25
    - d+ B# L$ @) n7 S8 L1 E! z; P
  105. CMP #$01/ N8 O7 i  O; J  W; Y0 L" l( ~
  106. BNE RE
    6 q! Q! U7 m- u& W3 N7 F+ b
  107. LDA $010A( {% `5 t' q- X2 G/ N
  108. CMP #$00# W# Q2 Q# D/ m& R4 j
  109. BEQ P19 T. D8 F9 V' @- s% D1 g4 @6 R& m
  110. " g2 N( [4 k% m9 u
  111. RE:8 `( }& W! x$ j9 k9 {+ z7 G! Y0 E' n: ~
  112. JMP PPUWRITE
    % K( {& Y! \( L6 R4 m% v/ {& b
  113. 8 b* f: J+ m  R
  114. P1:                ; 条件判断
    - D) b* R- m0 o
  115. LDA $7FFF
    : V9 }& _3 _& i1 A+ Y
  116. CMP #$FF
    ' W7 }. j+ B/ @
  117. BNE P1RP
    0 c, V( F. X8 K3 o$ u. A
  118. LDA $7FA0! h- N- L1 _- w
  119. CMP #$00
    % l8 |2 K& C3 o! U" v) q* w
  120. BNE P1CMP' y" K. L7 W6 e; z# L( A
  121. LDA #$FF
      b5 l  K6 p# x0 i5 s
  122. STA $7FA0
    # m: _9 q* r- \
  123. JSR CLEANA
    / H# R" T7 ~8 q2 e0 Y
  124. JMP PPUWRITE
    7 B# O3 m" B! C# w
  125. P1CMP:
    - v0 N/ o, r# w' F
  126. LDA $7FFF( `% l5 ?4 v  `- t! R; C2 ]0 b
  127. CMP #$00
    " j+ D+ R1 |+ v1 L
  128. BNE RE
    . L/ w" ~5 g' t2 e' {/ @
  129. P1RP:, w7 }# |' z* C6 f
  130. LDA $20021 Q( P1 X& @( H) ~% n9 r0 G
  131. LDA #$00
    3 b- o( r# R% {
  132. STA $2001
    / u( o1 R4 `8 N5 I; ^8 `
  133. LDX #$00& W& @' Y( V( M2 m( I& A* P
  134. LDA #$FF
    , ~3 s9 `, N6 X+ H* ]  G: a2 a* d8 T
  135. STA $7FFF4 k" t/ n- W6 {9 h$ b
  136. STA $7FA0- f3 x- l, ~" j( ^- `$ B
  137. JSR COPYPPU
    + W8 @- M% c1 l% d+ a  y
  138. PIRP2:
    8 Z9 A; x- U" `4 ?! [6 \" b
  139. JSR CLEANA
    $ j5 C7 H! A2 M# P6 t4 Q0 S
  140. JMP PPUWRITE
    # g+ }' R: t" d, G1 R

  141. ! ]9 ^3 |: @  V' _5 R% s$ j$ I
  142. COPYPPU:! [0 H7 ?( U# Z/ I1 R
  143. LDA $FE
    " z6 L6 `7 O) R/ W
  144. STA $7F50) s1 w; D1 M8 n. M- L8 x" u
  145. LDA #$08
    " D2 ~$ Y: P& o! ~3 H+ O& w7 C# G
  146. STA $FE
    % K5 p/ x2 Q- h7 n! d: x  V
  147. L0:9 L( L0 w8 ^2 B
  148. LDX #$002 L9 ~! G5 c: [4 [
  149. COPY_07C0_07DF:
    3 m. a/ j  D% c: ?
  150. LDA $07C0,X
    9 E! K" w9 @* d7 o9 L5 j
  151. STA $7F00,X
    # |% j2 p* G" k  \. U& N
  152. INX
    ! F1 T0 t* z& ?2 j3 S# V8 p
  153. CPX #$40
    + t$ O+ |- ?1 [
  154. BCC COPY_07C0_07DF
    8 Q$ R" w& u' V, Q! J
  155. LDX #$00
    ) Z2 `* }' H, v3 D  V
  156. PPU_07F4_07F7:
    ( ?' i( H8 _7 n8 G7 |  g
  157. LDA #$00+ F8 ]1 y. R/ h& T7 @" C, W
  158. STA $07F4,X
    ) r% }0 A* t: M: E  M
  159. INX
    2 {" y4 E; r# ?% x: W" I
  160. CPX #$04
    6 Q. u) l' N8 O1 h
  161. BCC PPU_07F4_07F7& c9 Y- d) m2 J; a
  162. LDX #$00
    ; r3 k. U2 w1 K- K  D" l5 E
  163. COLOR:3 b8 ?$ S% }1 e
  164. LDA COLOR_DATA,X
    ; \+ O9 |( h% h( ]6 T2 |  b
  165. STA $07C0,X
    6 ~# ]4 _/ G. G
  166. INX
    1 B' d$ A7 m9 [5 F! j
  167. CPX #$10/ i1 a! _  `/ }0 g' R. D4 B
  168. BCC COLOR( v1 |7 S1 A" t5 r7 ]

  169. 3 p% n3 C  J8 c/ ], p
  170. PPU_COLOR:
    7 O, o- n/ m! I& f, F0 v
  171. LDA #$3F$ ^* g* q7 A' X& a: D. ]
  172. STA $2006, k7 b, x- @! R/ F/ X
  173. LDA #$001 b6 b8 D' O1 g1 n0 v7 C
  174. STA $20068 |$ A% k% d" [- S9 a* x
  175. LDX #$001 W5 |9 F7 N, d- x
  176. PPU_COLOR_W:
    * Q% `- i% h2 Y  u; c. z& _5 e" g
  177. LDA COLOR_DATA,X3 F9 S% z$ z  w  G' C
  178. STA $2007
    # Y3 e4 E6 b; |. R4 C  T
  179. INX' s6 Z7 t3 v/ x; l- h. O! D  ^
  180. CPX #$10! W) v# C$ e! f4 j$ Z5 M
  181. BCC PPU_COLOR_W6 d2 _( n% W8 i5 g5 L

  182. ( P1 `( Z' A4 V- [7 A
  183. # I7 o6 x# ~8 m( t) U( c
  184. LDX #$00
    ) c6 Y* h9 t9 B8 F0 T# ]! y
  185. LDY #$00
    $ n$ J1 d- e* y5 N
  186. LDA $BD1 c. o1 C4 o" A/ n  i
  187. PHA
    % G( Y% T2 W( ?$ D) m6 q7 }3 e. o; H$ Y
  188. LDA $BC
    ( o+ ]" O+ C) Q9 m
  189. PHA
    , a) g  C" e( h" ^. W
  190. LDA $BB$ R. u, p) @3 T) m6 ~
  191. PHA" r' f  K& a: W8 ]. q$ y
  192. LDA $BA
    . W2 f/ X- ^0 G2 v( a+ ^% C8 a
  193. PHA. P" n, x! C$ o  a7 G6 `& d
  194. LDA $B9
    9 z9 m/ v! E; ~0 Q2 F: E: t" K
  195. PHA
    - S0 q% M, L! N' P
  196. LDA $B8
    0 i, i7 q  L7 }: D% C+ t6 h
  197. PHA4 z! }, H! ]$ x& \5 {
  198. LDA #$002 }3 u0 V9 k- ^2 W* K8 l0 [- t
  199. STA $B8, \5 ?: x, @' w& c- O5 |3 W# X/ {8 I
  200. STA $B9
    4 z& M, ?' m  N: T1 f7 X1 _
  201. STA $BA( ^. A$ z; e1 h9 T5 Q& _
  202. STA $BB
    ! c. _! G3 z' I, k' V* y4 V
  203. STA $BC; t3 E+ q  S: d& t
  204. STA $BD- ?6 P$ F" p7 Q# r4 d+ B! d
  205. LDA #$001 A, \# K% A' N3 ^4 G7 |7 D
  206. STA $BA" Y) _$ y) T1 v, `9 S0 V
  207. LDA #$20$ Z1 R$ p1 j, j  |9 r) F
  208. STA $BB
    2 j! _; {( V. E+ `9 Q
  209. LDA #$00- D" q' U7 a4 X% \" @! W
  210. STA $BC8 U2 @7 M; t1 x! L: C* W2 M
  211. LDA #$60! v) B& h( Y5 w. d! e# L
  212. STA $BD! \2 N# c; D( v# p  X+ ?3 `3 D1 |# G: T- ~5 Z
  213. . h* W0 m/ d0 N! s* @3 Y3 n, X
  214. L1:                ; PPU复制) s& h( L3 Q) i  M7 i
  215. LDA $BB
    ! H/ j% V) f* }
  216. CMP #$28
    4 j' p/ V7 l' i  |4 U/ a
  217. BNE L2# o8 D" f' u/ j: [$ r* }0 c
  218. LDA $BA4 p6 N- u5 m7 w! N
  219. CMP #$00/ l! }( Y' V. i) N
  220. BEQ PROADPLA
    4 P2 I$ L8 x! w! Z/ {" \

  221. 4 N' j& ~+ r4 n6 e  |
  222. L2:7 F) P# g7 C; w. M
  223. LDA $BB
    2 r, n: z2 X6 h
  224. STA $2006& ^, R" u% D+ _" N$ u3 [, K
  225. LDA $BA# Z, v$ o0 V3 k- C) E  d
  226. STA $2006" e+ U- _3 ^8 q7 n) |" g
  227. $ K/ d( o) b7 Y: p; d6 C
  228. L3:/ A2 i2 {6 G1 b
  229. LDA $2007$ S) V* q) S2 \
  230. LDA $20070 U/ ^: P+ m- i
  231. STA ($BC),Y7 i/ _/ a; ^6 ~0 s% \6 r
  232. / t$ S! s# b3 e
  233. L4:
    / i5 r# Q; E7 K& z$ M- c
  234. LDA #$00
    $ R* O# F' c% ]0 E; k, b
  235. STA $20002 S; f  f# E6 K; X) R' C# {4 d
  236. INX
    " }* d: I- X& L* |
  237. INC $BA  ~# Y1 R8 ]5 C9 t) P, K
  238. INC $BC
    3 V$ I( F3 ~! }
  239. CPX #$00& D& R' J. _( P4 E8 c; R( L
  240. BNE L1
      E# Z" l0 a9 t! |/ i% E
  241. INC $BB
    - H3 H3 ^( _) x& P
  242. INC $BD
    % j! C7 P) G9 N! _- v' p
  243. JMP L1
    - z$ {0 x+ L9 M% E) m) w- Y

  244. % t) G" Y0 U, K4 V' F# o2 n1 {
  245. PROADPLA:                ;出栈9 e& c. i: w; C" E; A: K
  246. PLA
    0 t4 [% @. z! X: b* t8 q: d
  247. STA $B8+ p. N: p/ k7 l% T
  248. PLA) Z9 x$ l+ z, r, W
  249. STA $B9
    6 s1 Z- K4 o2 |# l+ |
  250. PLA: H  ]5 w( s7 a% I! q, M4 m( ^9 d
  251. STA $BA
    ! [7 X. E. O8 w  U6 E( B
  252. PLA
    8 }2 f+ K3 X. T; g; y
  253. STA $BB
    # [9 Z. c6 |" o7 ~2 b
  254. PLA
    2 Y: b9 m* a- c% }' g8 K
  255. STA $BC  l0 u4 Q8 f) p1 J% ?
  256. PLA
    : k( r' d5 f% l& l
  257. STA $BD
    0 k4 D. H& A4 p$ x
  258. CPRE:+ S9 _2 l6 E1 E. g" P( B8 f
  259. RTS
    / g, M/ f' A. }$ ~5 ~

  260. / N$ y3 k; `1 [2 g6 b' W# ?
  261. CLEANA:                ; PPU清空- D# d- F" ^8 }9 T) T; Q  x0 j
  262. LDA $BD
    ) O- _2 p2 q4 m
  263. PHA
      ?1 h3 X  M' V7 G) d0 }6 X
  264. LDA $BC' b: p5 g+ u! S8 D
  265. PHA4 C5 A6 ?- V9 i4 C- t
  266. LDA $BB
    4 T7 `: D$ ?6 q* @( q7 l
  267. PHA
    & p& s, y) {  I$ _7 w
  268. LDA $BA; q0 j0 _! {7 G
  269. PHA
    * S7 X. a% V7 c
  270. LDA $B9
    ) F5 P3 P5 q7 Z. F
  271. PHA
    , e! y8 L- V: ^- p( e' o: y' e
  272. LDA $B8
    , G$ B0 P1 @1 i; `/ M
  273. PHA- P% X  }) h9 t; }  Q
  274. LDA #$00: q- x0 r' _  R
  275. STA $B8
    6 h/ x# ]; i2 G; a0 H
  276. STA $B9
    4 W) C2 j! V: o' r6 v
  277. STA $BA8 ^# w; `% g  ~, A( h) W0 O0 X
  278. STA $BB
    " U% R+ ]! h6 A: K
  279. STA $BC
    % k, N# W# ?; q. U% Y) b/ x$ s; W1 o
  280. STA $BD, Z3 ?3 b3 c: S, }9 s
  281. STA $2001: H4 T$ E+ D8 D- x' r) _% v, q
  282. LDX #$00
    + J/ l0 g0 i. q5 Q& i
  283. LDY #$009 R4 j+ w( U0 s  j4 T
  284. LDA #$002 n$ @: b! m* l2 K
  285. STA $BA. d" Q! d9 X0 Y
  286. LDA #$20
    ) G. p0 ]: \8 c$ \: N/ ~
  287. STA $BB+ z7 T9 |  V' f4 J3 }/ q  f
  288. + s  m" o$ g- c7 H
  289. CL1:
    $ O6 F% h2 l. H2 u* W" m
  290. LDA $BB
    $ }4 X1 A0 N9 n4 P
  291. CMP #$284 R( m7 P6 v0 z* U; `# O0 p6 y' e
  292. BNE CL2
    9 f6 e2 F6 f2 P0 R
  293. LDA $BA
    : a0 u1 y& w  {% ^
  294. CMP #$00$ n5 b4 v4 f- x# v- ]
  295. BEQ FREEWRIYE3 d' t8 H+ u) S- W  W* s& G* F

  296. # b- s4 d. s( _3 \$ V: D
  297. CL2:
    ' D( M& h6 v3 Y( C; A  M8 N( ]
  298. LDA $BB
    3 Y, m8 c- c) ?% C: \7 L
  299. STA $2006
    - I8 W8 Z, Y% d/ [6 m
  300. LDA $BA
    3 G& I$ [3 J) k) ]$ m) ^
  301. STA $2006( o8 ^& b2 L9 n% P( n3 J' l: s4 A, d8 k
  302. ; v! }. x6 a) M0 ^; I# l9 k9 [8 f
  303. CL3:
    & K2 c+ z8 s$ x3 m9 s- A
  304. LDA #$00
    ' L0 S9 V+ R; t2 n
  305. STA $2007  R2 b% \4 O1 R7 `% ^
  306. 8 k/ i& Z1 B% S0 |# s
  307. CL4:0 R, w1 k- m/ s$ V2 d1 ^  @
  308. LDA #$00; n& Q8 |2 f( C1 O1 V
  309. STA $2000
    % ^8 i8 R( t( ]; F
  310. INX
    % |/ C/ m( p. a/ F
  311. INC $BA. ^# e* |: y- Z# \0 n% O* U
  312. CPX #$00
    % w2 J0 ]! g) V/ d
  313. BNE CL1
    & N! q4 s0 }0 o- E! B3 u' P% d
  314. INC $BB
    6 Q0 G7 f& A$ V
  315. JMP CL1
    8 ?# r  b5 ^* u9 a8 [
  316. ' a. a9 e+ f4 Q
  317. . x# M! n: X& b
  318. FREEWRIYE:- E) u1 c7 P1 Y$ ~
  319. # l# ~# p; B4 X2 h
  320. NOP
    9 u6 w/ |/ l& c) ?

  321. - y; p. ^5 S" l2 x
  322. 9 y! x, |  o9 \& |% |8 s1 Y' w
  323. ) I3 O! H' L: t0 l

  324. # L7 I; F) A$ ?; j- N+ L7 ]  N
  325. ' ?) {; d. V- A3 L- d% j- ~- c
  326. CLEANF:                ; 恢复现场- `% K3 Y* j% D  b% _. @/ r: P
  327. & H. u& P: @: `; X7 O, K  M
  328. PLA8 J# R9 [& F* p( H
  329. STA $B8
    4 ~( f" w( M( p
  330. PLA8 o7 n; F; z) w3 X3 c" I3 |/ }) M7 f
  331. STA $B9; j1 h, o  \% R$ J
  332. PLA8 L" m1 t, Y+ ~" W
  333. STA $BA& {$ h! j& I8 a: f
  334. PLA- n$ u1 ^$ j$ u( _6 |; s- v) _& M! V8 u
  335. STA $BB# ~/ {$ m# e1 d& o% u
  336. PLA: e. B: s; J3 X+ C0 x
  337. STA $BC2 m- K7 ^; l7 u) G" v' P% T5 z4 Y
  338. PLA$ t( `+ l0 }6 n' U
  339. STA $BD/ @* w/ @. y4 l
  340. CLRF:
    4 s1 ?1 v6 o- w; ?( H) Q
  341. JSR FREE_PPU
    7 D( L& R; m4 M( E
  342. RTS
    6 F+ o6 d' _9 j4 _. V. `: ^# V

  343. - r" X2 }% `5 @% U
  344. + w  @$ L( S4 T
  345. PPUWRITE:    ;PPU写回9 a) K0 |( X3 O
  346. PLA$ l, ^/ L' s5 U! Q8 ?
  347. TAY
    9 v5 q3 {2 g! ^7 W1 L
  348. PLA
    2 y$ r9 Q$ |) {* U) }  E$ j
  349. TAX, _/ g' C& i2 }/ h
  350. PLA
    , [1 g2 V1 i! K
  351. LDA $25/ ~6 i/ w! x/ J' [
  352. CMP #$00* z6 s1 F" q/ I5 o
  353. BEQ WP1
    " X/ z$ {5 |5 I9 ~
  354. LDA $25  _) [5 o9 @  {
  355. CMP #$01( z  M/ Z4 `: J" l3 Y# P
  356. BNE WRE
    + |3 E' ?" m+ a% t4 {: V
  357. LDA $F5,X: I1 v4 T, i# q
  358. AND #$EF1 p4 B" H$ I  ^; b: [: k
  359. BEQ WRE* m# [! G7 U' _, j2 i) n. Y+ P
  360. LDA #$00
    , }; w% f6 }' d, l3 C2 }6 ]
  361. STA $7FA0
    " Q9 g4 y# Q7 h2 B* N7 u

  362. " _) L% t- O& u* C' a" }+ n
  363. WRE:9 h" Y4 A8 _% |& g* P1 S
  364. RTS
    , J' C2 |0 ^5 c6 Y* {  ]" W% s

  365. ) T/ k* |( |/ {/ V7 i
  366. WP1:
    ( [" P* ~( n4 M0 N6 ?/ F9 r( V& g
  367. LDA $7FFF2 Y" u- ^* z# q2 T, @7 ?
  368. CMP #$FF
    % K; b& [6 C7 }9 e' Y. r
  369. BNE WRE; q5 t) u5 C  n
  370. LDA #$003 G; L  X, l( ?( L, L5 B
  371. STA $2001- {( n# S. |3 L4 j- e/ U4 h
  372. LDA $BD, {. t7 E3 L$ v  \  _
  373. PHA" K/ K" L2 S$ r
  374. LDA $BC
    : p2 b1 Q# o7 O8 B" b" ]. a
  375. PHA
    - ]$ Y- o0 R; ?3 |. A+ G
  376. LDA $BB
      R  E  `1 ]+ X# ~
  377. PHA
    - X6 I8 u$ L0 P8 H( ~
  378. LDA $BA' k4 w; g! ~( o  P+ \0 [$ ~, }
  379. PHA
    / V* v$ c! I* _' ?$ Q! O
  380. LDA $B9( d) P. H  k3 T) T
  381. PHA$ B- k- S9 ], H2 L0 \& Z( f
  382. LDA $B8
    . E- ~* d' o/ Z4 j! c: `
  383. PHA, N+ D: p  R" C5 M) A9 S
  384. LDA #$002 a7 f3 B3 @. l2 ~0 T' n
  385. STA $B8; V) r% i% `; L# ~# f8 M+ \+ e
  386. STA $B91 ?- Y: g! Z0 C. e1 i- t
  387. STA $BA
    + G- R6 J& Q. n3 r
  388. STA $BB
    9 a* [, J# x! _$ `5 W5 f9 I
  389. STA $BC
    ! Z& \8 {: r; R0 C+ _2 \
  390. STA $BD
    ; }2 x& E3 d* D' t+ s3 r
  391. LDA #$00
    ! V0 ]0 H! F  G- h2 Z
  392. STA $7FFF8 u7 h% B& N4 \3 ~0 }/ ~  d

  393. , v  s% ^" @8 X& u! ^/ K
  394. WL0:' x" e4 V, v$ I0 j( Y& ~" X
  395. LDX #$00& w7 K* J9 Z; u9 D% q' Y% @, @' t% ?
  396. LDY #$00
    3 w4 M! W9 {! e$ q7 a- K) P
  397. LDA #$00" T3 g3 J& D9 X4 _; q! j9 U2 V
  398. STA $BA
    ) s3 ^; e/ y; g1 D' |3 q
  399. LDA #$204 I+ {6 ~/ r' c
  400. STA $BB
    - ?$ d+ T. x1 W0 V: z
  401. LDA #$00
    - w2 I" Z. @3 y5 F9 f: m0 B
  402. STA $BC: Y6 s: v  d! ~  D! o- r$ r
  403. LDA #$60
    ( D6 |* ?/ s, I: w1 ], J$ U, W" B
  404. STA $BD( f! [" H- l) l$ L: Y/ `9 D
  405. : B' W! H' D# d; |
  406. WL1:
    ; a& O- c0 E* [6 W- K* H0 ^/ Q+ ~
  407. LDA $BD  {0 n* {! ]! s$ P0 S: t! b" U
  408. CMP #$68
    % u) k/ z) j: g( B1 R
  409. BNE WL2! c4 h: ~( z! M" U3 g
  410. LDA $BC
    ' p/ t; e0 a- e1 {/ {( ^
  411. CMP #$002 X2 z. j  i$ F- d. k
  412. BEQ WLR
    ; e9 v( V! J! \: b9 [: z

  413. : L3 m3 l$ V' T  F+ a
  414. WL2:
    " A! y5 t: F. v: [- \) _
  415. LDA $BD
    / n( E( X. S; t# \
  416. STA $2006; u  M* D" _8 i- q( k
  417. LDA $BC
    - H& t" d# m- L' k5 I, w" C
  418. STA $2006
    * W" h" W: [' v

  419. 5 q* U/ K1 U/ x, g0 @2 D+ O6 q
  420. WL3:
    7 I  c  B+ M( K4 L) U
  421. LDA ($BC),Y" q% Y* m0 C5 v# u5 t6 O$ a/ F1 f7 p
  422. STA $20077 x3 ^3 h% _5 v
  423. , B2 _5 j, H+ _8 J, J  c' c- l
  424. WL4:8 J+ a; s# Y% V  g  `& _9 M/ d- B  {0 |
  425. LDA #$00
    # \% V. ?8 _" f: `
  426. STA $2000/ z' |$ [: C/ G1 w5 l
  427. INX3 Q" l" s* f9 A6 P' B6 T
  428. INC $BA' Y- e3 h' C2 u5 F4 b
  429. INC $BC
    / {0 D) W2 n  @$ ^" i  Y1 t
  430. CPX #$00
    $ U/ Y  G, P5 k* S4 d. O
  431. BNE WL1) R& u% [4 W9 X, `3 D8 K
  432. INC $BB
    7 b" d5 w- C! r' L( X, C$ y! N
  433. INC $BD4 `$ E3 l4 ^3 j: y2 X! L) A
  434. JMP WL12 ]# g! d2 J% m& r$ U, d) `3 Z' `
  435. ' A( S9 o7 Q: w) C" P2 s" s9 y3 [4 s
  436. WLR:
    " k0 O, s% j% Z; L" R
  437. LDX #$000 B$ w# R% W2 U0 u  A
  438. COPY_7F00_7F3F:% g( C  U* J1 @$ f
  439. LDA $7F00,X6 z) [2 [* i" y! Q: }
  440. STA $07C0,X
    & a* {5 @! ^7 {! Y+ h
  441. INX5 h# h: e% ~: C
  442. CPX #$40: @6 A5 z* s  p2 u/ y$ B
  443. BCC COPY_7F00_7F3F
    / s9 _  y0 o9 g; p2 h, U5 r
  444. # I' T( o* z: |" B0 E: r) r. t
  445. LDX #$00* k) O+ v$ Y( g" m: z( ^% u
  446. LDA #$3F% B( v9 p9 n! K5 s5 H' X' p9 A/ v
  447. STA $2006
    * Q- M1 H' Q/ c; o0 K& t! y
  448. LDA #$00" Z) x- C% O4 V! F
  449. STA $2006
    * h) c7 p7 x3 {/ B* M
  450. COPY_7F00_7F10:
    ) v! Z7 t; Y# H. q2 z
  451. LDA $7C0,X1 l9 M" l) O4 a
  452. STA $20079 @, \7 u2 L+ O5 _
  453. INX0 F) i1 N" t* b, H, Z: F& V. h
  454. CPX #$10" C/ A% u0 g$ a
  455. BCC COPY_7F00_7F109 A+ ^  I# c( J% U  Z

  456. 6 y$ }2 y# Y. p# S: p
  457. LDA $20020 Y/ {! p. ]! ~/ N- q
  458. LDA $FD
    2 W& y# T# h5 J; r/ \+ i+ k% X3 a" \
  459. STA $2005
    8 l" w6 T! y" B  O! R" T
  460. LDA $FC; I' S+ Q+ |0 g5 `* \
  461. STA $2005
    : W$ x- E% h/ U) d. ]
  462. 4 {, f( v6 R! y
  463. LDA $7F50, R% K+ A* d9 Y- o' j
  464. STA $FE  c6 @8 o* K  K7 K  f) G' U
  465. LDA #$00
    4 e8 W; J7 L+ B, r* H1 @
  466. STA $20007 q- `: W$ F. ]& @: g# q/ F
  467. PLA; K6 C' k) ~# V0 Z/ m3 _* ~
  468. STA $B8
    7 z; K) u5 Q6 M' ?! Z
  469. PLA
    6 o' a( i5 L# i8 W& A# r
  470. STA $B9
      ^2 G# `& E, Y' K' l
  471. PLA9 k' X' O# b" z. F/ d
  472. STA $BA! q  q( }1 K7 n9 o4 X! \
  473. PLA, @0 y& f1 [% d6 z# J4 o# d6 g
  474. STA $BB) X9 @; q  J  v# O, e& e9 e
  475. PLA
    ; {! _$ y. t! k" `
  476. STA $BC9 J7 Q9 W7 a1 J1 K* x
  477. PLA
    - _( K, B/ l1 K0 r, J1 F
  478. STA $BD# u6 I9 m+ D# S4 r/ ^# l; Q
  479. 2 J; M# N' r( ~+ X4 e( y
  480. RTS
    ! F7 p+ h; t  U: \

  481. : T0 V1 m, E; K6 Z& U* H  J
  482. PPU_CMP:
    & j( i$ z; m* ~: m/ X

  483. # k' g5 u. L# n' o. a
  484. $ Z. f' k* N+ |
  485. PPURE:- G4 c# a$ X0 V, v" s1 \8 s  |" }
  486. RTS
    ) g2 A% R( |. t7 f/ |5 V
  487. 2 ?% u2 K) ?: p# k1 m2 g

  488. # j  ^2 s  h  f4 H$ N& w4 I
  489. FREE_PPU:
    8 a. I: H9 r% a5 c0 w

  490. " i6 T0 L7 X- ]3 p' l, m3 O0 n
  491. JSR TEXT01_PPU
    4 S3 Z- C' L# ]6 X2 O& k5 b
  492. JSR $CBC0
    9 x+ u) s. i  w/ S; F
  493. JSR P1_PPU
    ( r, U* r5 i6 R3 T
  494. JSR P2_PPU: W1 J: s6 J* W8 `- |
  495. RTS" z/ q7 ?& w. N& t
  496. 2 f1 k9 o9 g9 ]! n
  497. TEXT01_ADDR:5 X$ ^$ y5 g: H7 _
  498. .BYTE $20,$420 m% L. n, A: e9 U( \
  499. TEXT01_DATA:
    ( k. S! t. O! o3 q( P
  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
    0 b$ ^( X4 T1 [9 s
  501. TEXT01_PPU
    ' y. ~: A0 A, y* @% i4 N8 W
  502. LDX #$00
    % Q  C- o4 y. h2 c: `+ W) g9 a
  503. LDA TEXT01_ADDR
    8 }; A: a  M5 \1 B3 b6 `. Q
  504. STA $0703
    " I4 u8 z2 ~% E2 a2 f. x* H7 u9 F
  505. INX8 ]7 u3 K! G9 P$ @, }+ M
  506. LDA TEXT01_ADDR,X
    , N8 o/ A$ \" q% e) V0 u% ?. k6 E5 X
  507. STA $0704! ^: N5 V, A4 m1 L
  508. JSR PPU_PROCESS
    7 ]0 v* O1 G; x. _
  509. TEXT01_W:/ ?7 p6 ^: `) u% J. w
  510. LDA TEXT01_DATA,X
    9 s8 a2 C& |! j$ F1 r9 Z; P) L
  511. CMP #CEND
    ! v3 S: M, e/ v! H" @' ]" f
  512. BEQ TEXT01_START
    % A- Z6 `* O# _3 u, x1 o, {. X) z& \
  513. STA $0705,X
    , Z$ j2 R+ L) v' t6 U: f
  514. INX
    9 m" E6 w4 _. p3 e- P
  515. LDA #$00
    - \4 @) h; f- }, H+ X" c, b+ c
  516. BEQ TEXT01_W
    0 l# E3 x2 c( a2 h7 `
  517. TEXT01_START:! T4 }7 J( F5 a: D% O
  518. JSR PPU_START  u! f) f' N6 j9 h( Q! [
  519. RTS
    " l% |$ s# S  L. _0 Q
  520. ! z/ e1 v/ V3 I
  521. ( \% Z  M* K0 f$ F" \- Q1 ]1 g) n
  522. COLOR_DATA:" ~: P  y" `, q7 O2 u) {
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28. V! R$ V. p. p& |( K+ }& Q4 Z
  524. % C# t& @4 c) A9 k( ]. d1 |
  525. P1_PPU:5 m7 `& \3 c$ B8 y6 R' N
  526. JSR PLAYER_01_PPU; N/ ^% m% b. M8 l1 n- @$ D
  527. JSR $CBC0- T) b+ s2 g7 D2 f  P/ y+ T" a+ ^$ k. I7 m
  528. JSR RELIFE_P1_PPU
    7 y! S. x8 _( F% l' A9 u- u8 v% _
  529. JSR $CBC0
    # u: c4 s( |( a  W/ e/ a8 G- c
  530. JSR RELIFE_NUMBER_P1_PPU
    1 z3 m$ p: K0 U
  531. JSR $CBC0  E$ y# L# W. ?
  532. JSR WEAPON_P1_PPU
    ) @0 n, e6 V$ I* V7 N! w
  533. JSR $CBC0/ x- Y. o' q) u3 v$ `
  534. JSR BULLETPPU_P1_PPU; r9 A/ t/ g, U$ n6 i
  535. JSR $CBC0
    ' i8 y( S- v9 s% ]
  536. RTS1 q' g/ a$ O$ ^5 l# g- ^; S# i5 v

  537. * }  W2 t0 N7 M* k7 V7 [
  538. P2_PPU:
    , V* F- }: B( F3 [  |6 e
  539. JSR PLAYER_02_PPU6 B9 \; c0 Q) Y  S  ^# j3 u* |# o% c
  540. JSR $CBC03 `+ A1 n; |7 c6 p. e
  541. JSR RELIFE_P2_PPU
    " A  i9 d4 X2 r5 V. W
  542. JSR $CBC0
    0 l( v% |; [& @% I
  543. JSR RELIFE_NUMBER_P2_PPU" I) \4 X9 g& a/ Q
  544. JSR $CBC0
    / i# _5 B0 A$ l: E4 A7 U5 f! x  B
  545. JSR WEAPON_P2_PPU9 y$ Q, d( e9 x$ |& d, o
  546. JSR $CBC0
    9 `+ F( x" N! e  w
  547. JSR BULLETPPU_P2_PPU
    8 A+ Q8 ]$ s! P- s
  548. JSR $CBC0
    # C, Q+ |( W/ {) f6 x
  549. RTS
    2 U% D2 f& t: F% S3 X1 K: O

  550. - c$ ~; q& _4 [0 O

  551. $ f* U0 n( V1 x5 Q2 Y" s

  552. ; s. y2 z, C* [% P( e+ k
  553. PLAYER_01_ADDR:
    + }; l0 g# @3 [
  554. .BYTE $20,$A3. x( }5 P' x2 J) ]
  555. PLAYER_01_DATA:
    8 R% A7 V" W; X, g$ x7 s
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND
    & B. _" W8 Q$ d9 k9 e! F  n8 ^
  557. PLAYER_01_PPU:) `4 S( x# J* _; [
  558. LDX #$00
    ' K* ]4 P3 X" E) f4 {3 I" W
  559. LDA PLAYER_01_ADDR
    4 ]: ^3 N' O) y" }( D, [0 X
  560. STA $0703
    . @5 V# \& m3 B- K
  561. INX! N& [2 j; K3 Y! Z- {$ a, w1 Y, ]
  562. LDA PLAYER_01_ADDR,X! v! |( }; ]) K' k* `' G- f
  563. STA $0704
    9 j9 P* L$ J5 j
  564. JSR PPU_PROCESS
    0 z" {+ J& R8 y# q: r/ q% X9 u
  565. PLAYER_01_W:7 g" |* }* }; B0 N
  566. LDA PLAYER_01_DATA,X: I+ t0 X/ O( c6 s; a. p1 m
  567. CMP #CEND6 t" Z9 m% p' @8 `  M
  568. BEQ PLAYER_01_START: P2 _  B# _/ s6 U* a. M: d
  569. STA $0705,X
    6 ^6 k$ i" b, @# ]' @
  570. INX
    # Z$ Z! ~6 k; A
  571. LDA #$00
    4 o$ {4 h: o) P2 K' a3 a
  572. BEQ PLAYER_01_W
    4 F3 m9 K" x. h; n: V
  573. PLAYER_01_START:; G2 I  E3 B; D) N# z$ a" L! u
  574. JSR PPU_START: a! Z" k7 z  N" `
  575. RTS
    ( f0 a& [: @/ |' E3 h5 ^& ]7 t

  576.   ?! h9 w. N# i5 o2 }1 U

  577. * {0 l  G: P$ m- N2 }. u2 d) [' `
  578. RELIFE_P1_ADDR:! M. m- R, s7 F6 G2 f0 y& I
  579. .BYTE $20,$E3
    4 j% J5 l  K4 J( L& U0 @
  580. RELIFE_P1_DATA:
    ' q$ a' P1 f5 N
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND
    ' \0 E6 e1 r" C
  582. RELIFE_P1_PPU:, K2 \6 B) D; I1 m" ~9 a( e; s
  583. LDX #$00- t% R0 O2 p5 O% j8 }: ?5 u% I8 S% m
  584. LDA RELIFE_P1_ADDR2 u1 J5 b" O6 j6 V5 ^: b
  585. STA $0703  R( t% x$ j; f0 j9 p' W
  586. INX
    - M7 e& Y8 n; M1 t- K/ g  P6 |
  587. LDA RELIFE_P1_ADDR,X
    ( C8 `$ s0 T' l! s! P9 h
  588. STA $0704
    0 L7 m& C, b  [  {. t" [- f
  589. JSR PPU_PROCESS
    1 l( @0 D4 w, k& X9 E
  590. RELIFE_P1_W:
    4 S; ], t# @* A* w
  591. LDA RELIFE_P1_DATA,X
    : {; u' C' Z+ N, d/ E) w9 N8 o
  592. CMP #CEND
    ) [/ w' F1 E2 L2 z7 o( s
  593. BEQ RELIFE_P1_START0 v- n. X! _/ \& H
  594. STA $0705,X
    2 ^/ t! o  S5 |) L9 \
  595. INX
    ) p* @% I+ r% l, z0 S
  596. LDA #$00
    & \' X: J) @8 K
  597. BEQ RELIFE_P1_W% |; O7 ~" o0 W1 _
  598. RELIFE_P1_START:
      o! H3 q/ H- M# {' J" u+ O
  599. JSR PPU_START
    8 @7 R( B( i" P; `8 |
  600. RTS% j# v, ?9 f' t% ]
  601. ' |; j5 e2 O( I7 u
  602. ; S6 i* ]8 p) d1 M6 q/ m, S: B
  603. RELIFE_NUMBER_P1_ADDR:
    ' S8 e: H9 h0 n- n. @) M
  604. .BYTE $20,$EA7 _3 U7 L5 ^/ d! Z& [
  605. RELIFE_NUMBER_P1_PPU:2 E! g4 W5 K; b% U3 o- z
  606. LDX #$00' X" @. Y: K, Z0 a0 p
  607. LDA RELIFE_NUMBER_P1_ADDR3 I3 l* {% b& d: D0 j9 p$ c
  608. STA $0703: c) `/ P9 I- ]  Q& U1 [8 [
  609. INX
    0 u  d$ d+ ~2 r0 b' `3 D% X
  610. LDA RELIFE_NUMBER_P1_ADDR,X
    ' [1 T: V1 n& k% s5 V5 O6 |
  611. STA $0704
    % }0 s% p$ o8 i+ J
  612. JSR PPU_PROCESS
    . n9 k% x6 y- J, N) i
  613. LDA $321 _0 m& \& U6 X# j
  614. JSR LIFETODEC
      e# w% K- ^1 R! |/ _
  615. RELIFE_NUMBER_P1_W:! l1 X5 L* x% Y- d* R
  616. LDA $7A035 z* L- j+ l4 _4 V  w  B
  617. STA $0705
    2 J. I0 t7 d" ~# j) k0 k
  618. INC $0705
    " T7 i! S6 B8 k" E9 p0 h1 y
  619. LDA $7A04
    - U% g% K' s- J- o6 ]% _3 h" w
  620. STA $07067 _. A$ S! @$ h* V- d  Q+ r
  621. INC $0706* Q0 y( o( [5 d/ _( p2 F
  622. LDA $7A05
    % C* d" u4 U/ e& R. v
  623. STA $07079 W- d5 l6 N0 `4 A9 X7 v* T
  624. INC $07073 K, w2 F" V# g/ T
  625. LDX #$03% [/ R; K# i- v  d0 `& T
  626. RELIFE_NUMBER_P1_START:
    % A2 Q6 ]8 a- k4 t" Y# M) ?$ F& ^, x! b
  627. JSR PPU_START  g( p# Q5 d; Y5 x0 \% V
  628. RTS
    % Q8 n; I0 I* F  R
  629. - J2 r$ U3 v$ ]" ^
  630. WEAPON_P1_ADDR:1 C4 z4 I8 L8 F, V4 p6 y0 n6 V
  631. .BYTE $21,$235 ?+ L9 n8 [8 z9 C: Z+ Z+ `7 n. p
  632. WEAPON_P1_DATA:
    , O2 t3 e0 D- x4 P
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND% i1 g9 n3 O0 \
  634. WEAPON_P1_PPU:
    % `' [" F/ X& A4 U/ Z2 T
  635. LDX #$008 X  n/ b3 \0 Q" M# A: l% R
  636. LDA WEAPON_P1_ADDR5 W) ^9 r% t, @% ]0 I
  637. STA $07036 F* I9 `5 ], S$ U) f0 S
  638. INX
    * e9 }, i  T8 c/ q
  639. LDA WEAPON_P1_ADDR,X) _4 _; D; M: g+ }0 u* p+ n
  640. STA $0704" e1 h% C  \. ]% Y( D0 N1 {; m
  641. JSR PPU_PROCESS
    5 O9 B! Y3 ?/ I! T2 F" F! O/ h9 e
  642. WEAPON_P1_W:
    3 C( C4 x+ c# u+ h' S# `
  643. LDA WEAPON_P1_DATA,X* Q1 g; _  l" Y* l3 I
  644. CMP #CEND# q3 h) ~* k  J) g4 G+ I( n
  645. BEQ WEAPON_P1_START
    4 H2 `: ?  ^  `0 R/ c
  646. STA $0705,X
    / }" [' t6 T& y/ z
  647. INX
    ( k" {8 x  x4 D; d' j
  648. LDA #$00
    : J) f+ J- M) p+ @& _
  649. BEQ WEAPON_P1_W
    $ o. u- W2 N6 I
  650. WEAPON_P1_START:
    3 F+ ~2 n4 b: L
  651. JSR PPU_START2 Y- ^1 ?  s0 k6 Y! U* [
  652. RTS
    " v. E9 v1 S  z6 |' W5 [

  653. : ^( B7 Y' l: r' i  h
  654. BULLET_P1_ADDR:
    ; u$ q. p0 t9 `" G4 K" Q
  655. .BYTE $21,$2A! Q& c  l5 V3 I- t
  656. BULLET_P1_DATA:- B( |" q; i% n
  657. .BYTE $00,$01,$02,$03,$040 A5 ^1 H5 d. ~2 e0 H' g) ^( V
  658. BULLET_P1_NAME:2 y- \) s, f+ g3 \% Y
  659. .BYTE CN,CM,CF,CS,CL
    ' {( I3 W& ^  Y, t9 a5 N( x9 b

  660. % p% V# I8 ]6 |. X: |' T( S5 ?
  661. BULLETPPU_P1_PPU:
    + l. `, z! g) x  I' c
  662. LDX #$00# |4 A( U* v# A8 D' {3 z" e
  663. LDA BULLET_P1_ADDR- G2 y/ J" z) ^& x8 g6 F4 y
  664. STA $0703$ T* S9 H3 ], [+ |
  665. INX
    : J% c0 f4 c3 @/ s
  666. LDA BULLET_P1_ADDR,X+ F1 R) z4 R3 d4 }/ r
  667. STA $0704
    - q2 ~9 O2 T0 y/ m4 w3 E
  668. JSR PPU_PROCESS
    ( X# J: m+ Y; ?* I
  669. BULLET_P1_WRITE:
    4 t. A, H0 x7 ^8 Q
  670. LDX #$00: l& o( d* |5 A% a2 X# _) Y
  671. LDA $AA
    8 X3 K2 V0 ^5 n4 J" Y$ W* L
  672. AND #$103 H( L; w" X" W2 k1 \% b
  673. BEQ C_BULLET_P1
    ' L& q  ?5 W# L
  674. LDA #CS
    9 v6 y9 [5 R. i: L
  675. STA $0705/ F& O' M9 a7 k7 g! V7 H3 F/ t
  676. BNE B_NAME_P13 S5 J& k! F* ~7 u6 s5 i7 x' K# [! m
  677. C_BULLET_P1:
    , _% {8 J7 L3 z! U
  678. LDA #CC
    1 v6 C: \* l9 r& g- H4 R( @
  679. STA $0705" h* w( p4 [7 ]% m% ]
  680. B_NAME_P1:, Z# x7 S, P5 L" [* i7 r; T
  681. LDA $AA2 T8 Q, I1 a2 _( ~+ h" t
  682. AND #$0F8 f6 q; F+ E; f2 m5 {. d
  683. CMP BULLET_P1_DATA,X1 b! ~( b/ h! A. U" E' [( N0 Z6 M1 a
  684. BNE B_NAME_P1_RECMP
    ( N+ z1 k8 z9 Y; j( U5 f: S5 p" Z6 k5 o
  685. LDA BULLET_P1_NAME,X0 H3 I$ r2 ?+ c- M. O5 F0 G0 X" {
  686. STA $0706, Y3 C2 l% k7 c) d2 o
  687. B_NAME_P1_RECMP9 K( i" \" z$ `' o  O: M/ _  d1 ]
  688. INX4 F5 o2 b0 A5 j# V
  689. CPX #$05
    - D, I/ O) C3 n* Y: B4 j% r- Z
  690. BCC B_NAME_P1
    - S; A& P' l2 s: a7 q8 X
  691. LDX #$02
    2 E0 Y4 L, j$ \4 n' Q. ^0 R
  692. JSR PPU_START
      a' u6 N. g0 J  E( f: k; h
  693. RTS- u2 p- L% j9 G. p
  694. 9 P" D, Q3 C5 I" I2 J
  695. , o. j8 I5 w+ @( P; q6 A% K9 R
  696. PLAYER_02_ADDR:8 Z) h6 Y* n0 z) F' [6 Z5 A. \
  697. .BYTE $20,$B3% s8 U5 @7 f: y3 {$ r9 S6 v, V
  698. PLAYER_02_DATA:. b4 M( S3 C7 l9 N
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND. s% f! R% @" S7 \3 c1 o4 w0 A4 q
  700. PLAYER_02_PPU:
    # ?0 G$ g# V. M
  701. LDX #$00
    . {9 C+ r* p/ i% i% Z# h
  702. LDA PLAYER_02_ADDR3 g1 ]( I: y) G0 b$ s$ t
  703. STA $0703& Q; K& A0 ^/ f- a( }7 `# i
  704. INX0 x% C, ?$ N) g, o1 f( }
  705. LDA PLAYER_02_ADDR,X
    ' z! \$ D* q* i# ^* t
  706. STA $0704
    & h- v3 _0 P" _/ o# U
  707. JSR PPU_PROCESS
    8 A0 y4 C: g, `; r$ |! f) p! i8 p
  708. PLAYER_02_W:; a, q4 M5 Z+ w# ?7 f1 v
  709. LDA PLAYER_02_DATA,X0 }3 I% e( R3 w- _
  710. CMP #CEND
    2 Q6 B, Q7 B8 {2 Y2 ~
  711. BEQ PLAYER_02_START
    3 w' _3 ?- n; m, A
  712. STA $0705,X
    % r4 T1 d; a! D' v; z
  713. INX
    - v! }. c' W# {- s! D! D
  714. LDA #$00
    2 u( W. J  B9 q" L
  715. BEQ PLAYER_02_W- G. u2 Y, @' [( ?( x/ m
  716. PLAYER_02_START:
    ' F3 n4 {8 o2 q: a
  717. JSR PPU_START
    : i# S. i0 f- \- E: N
  718. RTS4 T2 o+ ]. b4 T; ?* ~
  719.   ^* }6 z% ^6 e, }- A
  720. & f1 F/ T: ?1 v- ]0 o2 J' v
  721. RELIFE_P2_ADDR:2 |7 W% B" X9 i5 ]
  722. .BYTE $20,$F31 H3 s* ?4 W7 L+ }9 o3 }5 k
  723. RELIFE_P2_DATA:/ b% P9 Y4 C/ B% F
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    6 q0 k2 t( I- p9 d3 H# y$ }6 D+ x* j
  725. RELIFE_P2_PPU:
    2 U, n6 x* S) R: M
  726. LDX #$00: H% D! s) X2 D! c
  727. LDA RELIFE_P2_ADDR5 ]& I7 F: z* x9 |* ~9 f  l- l8 y
  728. STA $0703
    ' O- p) g2 {! m0 y& e- s# U, I
  729. INX1 ^, V  _! r, w6 N6 S) q3 b
  730. LDA RELIFE_P2_ADDR,X
    ) M% t* {" [: C$ X% g, u! t& s8 V
  731. STA $0704
    * x" f& s. t! W3 x7 Z
  732. JSR PPU_PROCESS
    , y1 S+ s, K7 h  Z% n0 t! l
  733. RELIFE_P2_W:
    * d6 J5 {7 l" C" Q! s) M0 `
  734. LDA RELIFE_P2_DATA,X
    4 X, o1 v% p! O
  735. CMP #CEND2 ~( j; R* E5 r7 }! t& ^5 ~7 k5 h! Y
  736. BEQ RELIFE_P2_START
    " I8 q1 Q( t2 y9 c! D$ O( k
  737. STA $0705,X7 W: t: g6 v5 i7 Z0 Q4 A+ d8 U8 Y
  738. INX7 z$ a8 ~# H" o) b
  739. LDA #$00- ]% E  {2 }6 X
  740. BEQ RELIFE_P2_W
    " }* ?/ {2 p3 z7 n
  741. RELIFE_P2_START:' \- p( B; P9 O: Z
  742. JSR PPU_START3 k3 @% W7 ^0 \+ H* E
  743. RTS% ]9 S1 f6 u( G) T6 a
  744. 7 u1 ]6 t. @' c8 Z$ c, @

  745. $ {1 R5 ?2 G$ d4 Y. S4 `
  746. RELIFE_NUMBER_P2_ADDR:
    ! Q8 j. q$ [( \0 j- }* E0 J4 d
  747. .BYTE $20,$FA
    ' c+ n: V0 J; M, F8 K( b1 N$ H1 @
  748. RELIFE_NUMBER_P2_PPU:
    * i% D% d' u( n  P) a9 s# O# [
  749. LDX #$00
    ' q; Q2 m9 N' N0 c1 ?# {
  750. LDA RELIFE_NUMBER_P2_ADDR2 N1 P' n: t+ m/ y" x+ Z  X
  751. STA $0703
    : o3 D" u% ?, b9 m; q
  752. INX
    8 r/ v  f4 m+ d5 G
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    ' a* c' q8 B1 {
  754. STA $0704
    & F6 @" U3 @- I, z  N
  755. JSR PPU_PROCESS, ]8 o. H! D: Q: O/ b. \  Z$ n
  756. LDA $33
    * p! g6 x- a! Z* W+ D
  757. JSR LIFETODEC% @. P  m5 v# b0 j- M) N
  758. RELIFE_NUMBER_P2_W:& X4 |+ M* D0 B3 p9 @9 z
  759. LDA $7A03
    1 }0 I: @8 E3 P8 P2 o* W8 C
  760. STA $07058 _  X5 b% l8 A0 }: C
  761. INC $0705
    6 z( q0 {# A# w
  762. LDA $7A042 a$ n/ i) r, N
  763. STA $0706
    + P# I' p) J) z  K, u  G4 \6 t8 x
  764. INC $0706
    ( U: @# n  O, v2 x  C5 P2 e5 O
  765. LDA $7A05
    # P/ `9 L0 g& C6 z
  766. STA $0707, m  S! }) H4 y/ N9 N
  767. INC $0707
    # W- \2 ^) D, ]# i
  768. LDX #$032 d4 `# r$ p4 A( J
  769. RELIFE_NUMBER_P2_START:) K! n# h9 p& a" x* i: N+ @
  770. JSR PPU_START% j0 |( v7 a# W8 ~
  771. RTS
    + N* E; B) v7 z2 W; w. q5 x
  772. # S+ a! b" H. O+ c( S7 ^8 y
  773. WEAPON_P2_ADDR:; x. i6 }/ S3 U
  774. .BYTE $21,$33
    + z0 D* c5 @2 c- X' y( I
  775. WEAPON_P2_DATA:# d% ~$ a* U1 E" r" E1 i3 N
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND
    + D1 N, {; u- Z, h: |
  777. WEAPON_P2_PPU:: o, y8 e# \# `( [" Q
  778. LDX #$00
    8 A( n" _4 U1 q
  779. LDA WEAPON_P2_ADDR2 B  Y, g! ~1 {1 F6 y
  780. STA $0703
    4 }  I/ ~7 t4 `
  781. INX& `( h! f! e  n0 v- j
  782. LDA WEAPON_P2_ADDR,X: q- |% F' Z! A/ F8 Y/ N$ N
  783. STA $0704$ l( v! X) J$ J5 `* G6 L/ i
  784. JSR PPU_PROCESS
    7 u- C: t) s4 N
  785. WEAPON_P2_W:4 D& _2 U- E% o3 ~% m5 o: ?% m/ i
  786. LDA WEAPON_P2_DATA,X5 O' I, M( d! K! ^
  787. CMP #CEND
    + u. u* ^$ p/ F  \; X( L
  788. BEQ WEAPON_P2_START
    0 T3 b7 i; O+ ~
  789. STA $0705,X
    5 B9 r" P2 y7 U( b: f, T
  790. INX0 ]6 X+ c  g: H/ T$ p2 l/ Z
  791. LDA #$00
    0 o+ x9 U6 O& {% n: _4 u
  792. BEQ WEAPON_P2_W, i+ ?" B% N: P9 O) O  L; F
  793. WEAPON_P2_START:
    1 x1 _& X9 X/ L4 r3 P0 S) [
  794. JSR PPU_START
    3 i* }, v/ `& ^* \2 }" n* {# T
  795. RTS7 q! `& M% Z0 g9 r
  796.   A" Q2 E6 F+ r% U+ ~3 C$ L
  797. BULLET_P2_ADDR:& }/ d0 l% t4 H* _1 a: e+ S0 V
  798. .BYTE $21,$3A& |( J" W9 U( C3 ]; x$ t2 M4 c
  799. BULLET_P2_DATA:
    4 p! h3 Z8 B  r: A& m  Z
  800. .BYTE $00,$01,$02,$03,$04
    4 @! S+ P* H* R8 P
  801. BULLET_P2_NAME:
    % X4 f# l, a  X8 T! N
  802. .BYTE CN,CM,CF,CS,CL
    ' h( [$ R; t, H  t

  803. * g: Z$ P; u' [6 I: d5 x3 S
  804. BULLETPPU_P2_PPU:
      W) r) r- E, t5 V
  805. LDX #$00
    $ x" m* o5 }  M" ]9 [
  806. LDA BULLET_P2_ADDR
    7 g: c- H" _% k' s# J; m# A1 R
  807. STA $07030 J; u/ a2 D/ I$ `: l4 G
  808. INX
    6 x* p) q  b0 n9 l4 h( }; z4 s
  809. LDA BULLET_P2_ADDR,X: ?2 F" ?/ O+ c2 {# x3 E
  810. STA $0704
    + f- b" h- k& I- g
  811. JSR PPU_PROCESS$ Y6 _1 n7 }! p+ l
  812. BULLET_P2_WRITE:
    3 e# H# d& J3 h2 E
  813. LDX #$00
    $ R2 F) r1 m( e: s7 l" T
  814. LDA $AA
    - _0 A9 p) [* C( a0 y9 b
  815. AND #$103 A" M( y- Q  l, m' t# t) L- [4 T
  816. BEQ C_BULLET_P2' f6 N8 b2 Z) J8 j
  817. LDA #CS
    7 M  a% a, h" Q
  818. STA $0705
    # S7 J* \6 w: Z6 {
  819. BNE B_NAME_P2
    " N9 k" I# I- R
  820. C_BULLET_P2:$ j( U+ v$ C* \7 y# m
  821. LDA #CC
    ; K  _: ?5 ^" z0 ~8 C
  822. STA $0705
    " H) @1 c/ |: {7 v0 z; G
  823. B_NAME_P2:# \9 W* k9 b: }- g0 f
  824. LDA $AB  R( I# o! Z+ u6 L) M
  825. AND #$0F! J; e3 t+ @. q, J
  826. CMP BULLET_P2_DATA,X( G8 E5 P& V4 {6 ^
  827. BNE B_NAME_P2_RECMP* @$ v; i& H8 g$ V* }
  828. LDA BULLET_P2_NAME,X
    ) K- s5 Q* K9 h( x- J5 H
  829. STA $0706
    0 {( h, ^( W) Z4 v: a
  830. B_NAME_P2_RECMP" O  L8 S# @1 V( s# r
  831. INX
    8 ]4 ], @% `' e5 z# N1 x; ~
  832. CPX #$05
    & F& [% W# ]  s: F
  833. BCC B_NAME_P2
    - J; q5 ~4 `7 [" B8 |% B6 y; ~6 J
  834. LDX #$02
    + {) s& J/ D; |0 w0 i2 u
  835. JSR PPU_START( \  l3 @( A) ~( K- B+ ~/ D
  836. RTS
    : Z1 h) Y) s, i8 U. r

  837. ' T6 e$ b0 G! L  ], ]' h
  838. ( q8 z- H! d3 ~3 M- h

  839. + I: C9 W- |, S) V! H5 }0 M

  840. ; \- O- \5 m& C0 j, I
  841. . ?0 H# J- K( J& K

  842. ' k% U4 \9 h  @" j# J
  843. LIFETODEC:                ;十进制转换
    9 l& l' a; t6 v$ y* [
  844. LIFEL1:        ;initialise
    6 w* g. G- I% I+ _' @$ {5 p- ^7 X
  845. STA $7A00        ;$7A00=F35 \; x4 ~0 [& n! x, v3 @! Q: i
  846. LDA #$007 O9 C5 p' l! p: y6 c
  847. STA $7A03        ;$7A03=00
    5 A/ d, Q+ Z$ l& ?3 n/ f
  848. STA $7A04        ;$7A04=00* G6 c" n- U1 ]
  849. STA $7A05        ;$7A05=003 ~0 X8 ^' C" p1 z: I" K
  850. LIFEL2:        ;copy data $7A00 to 6001% h/ S5 @1 y8 k) Z4 {; l% q% K' S
  851. LDA $7A00
    2 y6 n' ~1 v: m) t8 c. L
  852. STA $7A01
    $ |6 {  O( p* k, }

  853. 4 H: `( T6 d# M4 }5 o5 R+ o
  854. LIFEL3:         ;hundred
    # J! m2 k( x, T& R# N( n
  855. LDA $7A01
    . p8 K: p9 f/ [& @7 }' J5 \2 `) ]
  856. CMP #$64* w, j6 _1 E/ A& ~- R. L
  857. BCC LIFEL6                ;$7A01<100 goto L6% h& @! a8 }. \. w8 l
  858. LIFEL4:4 q0 p  v; g$ [% |. x. `3 P, F
  859. LDA $7A01
    ' v& z8 v1 T& Q/ b" Z6 m3 |$ n$ e
  860. SEC
    % p) T9 d' j" x
  861. SBC #$64        ;$7A01=$7A01-1002 x6 s5 S3 Q6 ]
  862. STA $7A01. m$ I. J6 N, X
  863. INC $7A03        ;hundred++
    ( q# N$ T8 L+ [
  864. LIFEL5:
    ) ]% f9 I8 W4 K5 D
  865. LDA $7A01
    + x6 _) o& q7 e# Y* ^& F' S
  866. CMP #$640 s& h* C& N$ ?2 G& C( p* V
  867. BCS LIFEL4                ;$7A01>100 goto L4+ Q' ?. @* E# j8 O- ~

  868. 2 g( Y# n4 w1 N6 I6 Z
  869. LIFEL6:        ;decade. E% N8 n) A& A, k9 S
  870. LDA $7A01
    & f: K& \% X$ P+ _: N: O. \3 R& ]5 i, x
  871. CMP #$0A
    : V0 y$ {% P1 D* ^: y% ~2 u! d
  872. BCC LIFEL9                ;$7A01<10 goto L9
    ( s- o- n! x3 s0 k4 K" r
  873. LIFEL7:        . i1 q- H% D& X2 D# C6 N
  874. LDA $7A011 x2 k  ^6 x7 x6 [& K# s
  875. SEC
    ; w% F- q  c" x" b. i( p* G5 p
  876. SBC #$0A
    ) q6 |) n5 s+ B
  877. STA $7A01        ;$7A01=$7A01-101 P# C3 B% g; ?8 ~3 c* ?
  878. INC $7A04        ;decade++" w6 O6 q# S- S9 z' E
  879. LIFEL8:2 C- R4 p  n( `) Z
  880. LDA $7A012 D; W( L* L4 i* _. Z0 O6 U
  881. CMP #$0A5 p# i+ D, s  @2 ^
  882. BCS LIFEL7                ;$7A01>10 goto L7
    ; x& \; T% o% C$ v- r# o
  883. ;unit2 Z" n. f7 L$ W) E
  884. LIFEL9:
    2 O7 c3 C0 \  i, E+ W
  885. LDA $7A01        ;$7A05=$7A015 W6 }: `5 r6 l& a$ M
  886. STA $7A05        ;unit
    6 b3 H) y8 P& S# {
  887. RTS        ;return
    : o6 @7 W& n1 t7 ]; h

  888. 4 [+ `' r- ?% m' b4 [
  889. * ]7 y4 w8 y- S
  890. 4 Q. v+ Y' G4 W; D/ Q# C3 ]
  891. PPU_PROCESS: ;PPU地址处理程序
    ' J8 R/ ^! u& B4 K3 }. d
  892. LDX #$00) V4 m) E3 z6 b) b0 A, u$ T9 j$ a
  893. LDA $FF9 h. u0 i5 {) f8 e; }  Q( u- Y4 T
  894. AND #$01) x( ~7 j' H' z1 b$ P4 r$ o/ ]1 N$ g
  895. BNE PPU_2400_27C0
    % t. W9 W* v4 C0 p) f% c: w
  896. PPU_2000_23C0: ;命名表1
    ) r* n! r& o/ y  K
  897. LDA $0703. N1 z, Q3 ]0 s' W* ^7 a& E8 {
  898. AND #$FB
    9 i, A( e$ {. ?& K
  899. STA $07031 o, O( p0 [8 d
  900. RTS
    % W) i% ^5 e( k
  901. PPU_2400_27C0: ;命名表2
    * I# I) u! ]8 \- ?' C* m/ ]
  902. LDA $0703
    , O1 a3 m# d  L
  903. ORA #$04* `9 |, ~/ Z6 X  u; G) R$ @
  904. STA $07032 \  p$ \( ?: X6 k, b9 r' q
  905. RTS$ {3 O: V5 Y3 j! `

  906. ! X- o7 H+ {# o9 @- k0 @) \
  907. PPU_START:  ;PPU数据写入
    & K4 ~0 i8 f7 M( V+ v! A+ d
  908. STA $21
    8 Y* L4 g# v9 Z+ L+ }$ ~6 y
  909. STX $07013 a! g' m- X( |5 r
  910. LDA #$00  Q$ H. {- d2 ?( X: h3 g. r$ m; w! ]
  911. STA $0705,X6 h% I& I& }$ j* |& b8 ]. ?
  912. LDA #$01
    3 N( n) {6 k/ k6 q- w% s
  913. STA $0700' B( {% A* ]. L
  914. STA $07025 L9 {' R' t  r& P: M
  915. RTS
    & I& |  A3 }/ ~8 {, p5 u* ^/ Z# }6 w
  916. 9 @3 f8 W" y1 {% K" P3 x

  917. + u/ Z. Q4 d3 n( n

  918. ' H/ @3 p+ e4 ]+ y; u5 n7 F
  919. % K2 |* r# i% g( z0 U5 a8 ?) r& d
  920. 2 X3 E4 X: e& Q) x

  921. + ]$ [) x; W% z& O. A
复制代码

! X8 k& S5 o) D  ?+ F" l8 w

本帖子中包含更多资源

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

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

签到天数: 1873 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!2 m; m* K; [' n

签到天数: 2498 天

[LV.Master]伴坛终老

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

签到天数: 25 天

[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, 2024-5-20 06:44 , Processed in 1.062500 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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