EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序; F: U& H! K4 E2 w' S. X8 S5 G
  2. 作者:FlameCyclone
    9 p/ Q, E, N' o7 n6 e# c8 M7 h) V
  3. 时间:2017.2.12% Z9 L7 l( r7 F1 x8 R, F: `* d6 j9 d7 m

  4.   @. {8 |+ ?2 J5 Q' ^8 Y
  5. 按键跳转:
    + s+ ^% b: E6 w$ F5 J. ?0 A
  6.         C1EF:95 F5 94 F1
    3 U1 V' M* N  U* @  p' h. _- P
  7.         C1EF:20 70 FB EA
    ) a2 R% o8 f, F" ?  W

  8. " [, s% {, j1 e! u$ g; D0 B& A
  9. 滚动偏移:
    ( g( N3 \6 R( A. Y& D; R$ K; c4 ^
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20& M7 s6 H( X+ C, s* ]% O% s3 j
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    3 O# `: R/ o* Y0 q9 T1 ~' O( ]
  12. 8 y7 S3 ?3 k5 Q! y
  13. 背景调色板:
    % U# ~% |  k1 s% i! h* ?/ {( b
  14.         CF20:9D C0 07
    # V5 q, Z% I9 M% I
  15.         CF20:20 A0 FB! a& v& v! k+ r/ ^9 t  F
  16. & D1 ]9 y7 R, Y! w, ?2 d! D8 }
  17. PPU BANK号:2 K5 X) g, c9 w+ {1 X
  18.         C8C9:9D F4 07
    9 @9 g/ V+ g: {) R$ a
  19.         C8C9:20 B0 FB
    2 j+ }! u  V3 g
  20.   c% _0 U  Z% s/ c
  21. 按键跳转:
    ; U7 x+ G$ a- p; ^6 n0 {
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    % m/ k7 Q3 `. b0 y( c- r
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    - s, i, M2 V+ ~( j, L
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF
    1 O' j* e  Y. U4 J2 G

  25. . `, I, e) k# B6 j/ ]: r* |& g; h
  26. 背景调色板:1 t5 J) |9 `5 m2 X
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF
    0 g2 D7 `: X- X* I! `) [

  28. ' g0 e" P# J: k  _+ y
  29. PPU BANK号:1 q8 D0 [" Q1 N% X; |2 x
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF8 n) C3 O& j1 q  l+ P

  31. : j( d% W) e% O$ {1 p, {
  32. 滚动偏移:
    6 W1 ~% P2 Y4 h- T
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60) T& K+ x, F+ E* r
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    " t: G5 O/ K! H8 s+ H( }' U: |8 A- Y
  35. 9 K5 V+ e; k; P7 G
  36. 0 u/ w, A; j$ V
  37. 切BANK后A000:* I. r2 B1 d8 ^2 f5 B
  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
    & N1 a6 k9 Z9 N5 m+ p
  39. : U$ p* p3 }% ^) t0 ^" ]
  40. & O0 x4 |6 j" Q, c
  41. 6502 simulator:5 s0 _- {' W( j
  42. PPU写入程序:
    : r8 N) y4 W  J( K9 i
  43. .ORG $A000/ c( d; t/ m! I9 Q
  44. CSP = $80  J. g( B( \0 y& ^8 L
  45. C0 = $81
    3 E/ X, a# N1 L7 P  K! r& P6 M
  46. C1 = $82
    " k' I4 ]  v2 Z( P
  47. C2 = $838 n. l: Z4 z  q& j
  48. C3 = $84' A* Z3 s4 f! X# X2 O
  49. C4 = $85
    1 E7 [; }# D! E2 ]
  50. C5 = $86. M" S& r" G" h; ]3 s7 d
  51. C6 = $87: Q& w; N+ y# _- S1 I/ q
  52. C7 = $88$ @2 v) I6 x7 J* o; u/ l$ f
  53. C8 = $897 z4 ^, {& o! i: |7 J
  54. C9 = $8A
    - w+ v& x; j- p* F% o+ x, [& G2 j
  55. CA = $8B
    4 n) k/ ^# C, f/ C
  56. CB = $8C
    8 ~8 i7 W$ c! d- P% g" t
  57. CC = $8D4 C' j9 }: I( h: g
  58. CD = $8E. L2 p; y8 p# L- F$ V, b9 b2 A
  59. CE = $8F
    2 n& C5 ?5 e9 u, f
  60. CF = $90
    7 k% N- O) C+ i
  61. CG = $91' y3 \. A& d9 X& i/ K
  62. CH = $926 o+ S9 G7 x6 P" ^7 g  f  Z
  63. CI = $93
    ! `2 y1 P' C6 X9 e( r
  64. CJ = $94
    2 a( O: a9 v4 A3 C
  65. CK = $95) x- r! F' I# ?" G9 o1 R- C, ?
  66. CL = $960 k) a3 c% W) o$ S
  67. CM = $976 ]! T: i" R7 O; l. q
  68. CN = $98
    ( W2 X! `2 w& O2 V" ]& n/ V
  69. CO = $99$ L2 R# H7 x- O- F' k
  70. CP = $9A
    % B: H5 @6 x' k6 J! r" b( A
  71. CQ = $9B: ~7 x$ e* M7 [+ w3 s7 C
  72. CR = $9C: e; h6 e* o+ y8 p5 i! K
  73. CS = $9D
    5 P) \) y8 v' x. Y
  74. CT = $9E
      E& H$ C, g( S3 [8 I
  75. CU = $9F! \; H0 O# A6 k7 X9 H/ l" w& K
  76. CV = $A0* ~( ~1 m. B( {2 K8 y/ e" E& ?3 ^7 [
  77. CW = $A1
    , z2 L, }: o; J/ ?
  78. CX = $A2
    ( g) q, v% \5 V/ f, g+ J
  79. CY = $A3
    2 A" {, d" D; P/ h
  80. CZ = $A41 P% u8 V  ]+ W/ Q
  81. CEND = $FF
    " _! v$ ?5 `$ j- n: n/ X( e/ Z3 E

  82. 2 [1 w/ L% u1 |

  83. " g" C) X1 t2 Q' @
  84. CMP_RE:
    * O* @% @( e2 e' h9 N
  85. LDA $FF1 @6 U. g5 |* K' n2 ]$ n& i
  86. AND #$7F
    # X$ `/ |3 o* Q3 z1 ^' G2 F# L' \
  87. STA $2000
    5 d- {  O3 P+ \& _
  88. LDA $2002
    2 Z2 {- f' Y7 T( e9 Q
  89. LDA $25
    . h2 [8 F7 w) j9 S7 Z% r2 x
  90. CMP #$01
    ( ~% }3 o' b* y% }- _
  91. BNE PROREG( J, X  [4 T* q8 m0 w
  92. LDA $F5,X) h  z. e; g4 I
  93. AND #$CF
    + y8 q% Q4 t' L( o) F
  94. BEQ PROREG
    5 p8 v8 T5 D2 D/ Z" F" K3 k# O
  95. JSR PPU_CMP$ L7 o6 }: y) O. P  i# z3 j! C
  96. C_RE:" Y/ v. _& K  F. u$ a$ g
  97. RTS" P! N( \* X2 O2 b' u" [! Z
  98. PROREG:, S/ ]6 c5 K$ L2 G( x( i1 R
  99. PHA
    ( ^0 T0 [, w! o7 n. R
  100. TXA9 R& w5 ?7 M$ F1 R
  101. PHA
    ! h. J* n) g1 a
  102. TYA2 l2 l* M# W; B! M6 j6 [+ p
  103. PHA
    $ P) _$ t& m5 W
  104. LDA $25: ]! x& f% v; {: R' B9 y* p& c
  105. CMP #$01
    1 D% A6 F8 r- ^7 Q; R* v! E' t
  106. BNE RE7 A% J% D1 i% \* z# k$ }  i( j9 ?4 ?$ _
  107. LDA $010A
    $ X! b7 [# {  t3 q8 y- O2 f8 @
  108. CMP #$004 W0 {$ }- x! E3 v. E& x) _
  109. BEQ P1" D% _8 e) j6 X/ G
  110. ( p+ m- E) P  h5 A% X# q; O0 \
  111. RE:% s6 x4 B2 \; `6 o6 M3 i- Y# A
  112. JMP PPUWRITE* q8 p/ n2 `* z7 |+ h

  113. % p( G1 |% y6 `+ V9 q
  114. P1:                ; 条件判断  S) M. p* e/ z2 ^* W& c
  115. LDA $7FFF
    8 o5 D+ @. W9 Q' A; N+ N
  116. CMP #$FF$ r9 `% t* C1 _+ l' Q
  117. BNE P1RP7 N' i) t3 A3 ^
  118. LDA $7FA0
    ! ^! y, g$ p- m! N+ Q- h
  119. CMP #$004 Z) M1 L3 e9 e: n7 ^
  120. BNE P1CMP( n7 D) {) ?! ^$ p3 \2 G2 ~1 R
  121. LDA #$FF
    : X' w% |5 d: t4 f! ^" S0 L, Z
  122. STA $7FA0
    & M8 @6 r9 K/ f  K. X$ Y8 [, z
  123. JSR CLEANA
    6 i0 \5 F. I2 I/ i4 J) P! n
  124. JMP PPUWRITE! N  C$ [, Q$ R' c7 W' a# u& z
  125. P1CMP:. a5 y7 R6 _9 P0 y* R# j; z5 G
  126. LDA $7FFF0 W6 C( l2 Z, w7 C" p* ?. q) u
  127. CMP #$00
    ) o6 t7 K' d) m" s2 g- [
  128. BNE RE( w% `! b% l. j) I5 D8 j
  129. P1RP:
    + a% R6 f: |/ X& _& B1 G
  130. LDA $2002+ l1 Z3 n& {, o8 Y% h8 G2 z8 u
  131. LDA #$00
    $ t9 T+ i2 |2 Q3 U
  132. STA $2001) `' j/ c; ], q) o5 i
  133. LDX #$009 W# i  a6 m4 R' G6 s3 r
  134. LDA #$FF8 B, ]. l, i: S9 k
  135. STA $7FFF6 X3 a( e& c! W3 p/ f5 E/ e
  136. STA $7FA0* t; }8 m- B0 j8 ~
  137. JSR COPYPPU
    . r/ m- |. D* C3 T; v. F
  138. PIRP2:
    " q% f  B/ G) q3 v- q9 }
  139. JSR CLEANA, c/ {7 `) f3 L4 `2 m) v
  140. JMP PPUWRITE
    9 ^% t, n) a6 ]$ o. V  U+ |

  141. 7 x6 l% F( w9 N' T; V) A/ E! q
  142. COPYPPU:
    8 f1 b! e2 g+ g7 T, R( j! |8 ]4 c
  143. LDA $FE
    - P- @( k5 H) R1 X% X/ `0 G# Y; A
  144. STA $7F50
    3 G. Z5 P1 G; `0 y. _7 Q6 G
  145. LDA #$08/ I8 o" e, J- `: h5 B
  146. STA $FE- H; m/ H5 _" j5 \
  147. L0:  C4 [+ K6 L$ b3 ^
  148. LDX #$004 {% s" j& P2 c" {
  149. COPY_07C0_07DF:0 L  B; D% r$ s0 N! k2 u* @
  150. LDA $07C0,X* x0 U; I6 _& S% K( y. g
  151. STA $7F00,X
    : Q3 I( t9 h/ n1 Z3 l4 O! r
  152. INX
    4 W1 A. b8 g7 c3 l
  153. CPX #$40
    2 O2 P% ~, x/ w$ I
  154. BCC COPY_07C0_07DF6 `4 a- B0 a: G2 r5 C4 s3 |
  155. LDX #$00
    ' ]1 R- ]- d: i5 h3 q6 K9 f; H
  156. PPU_07F4_07F7:! ^, |3 e1 ^: k7 f
  157. LDA #$00
    + \! r; l" |" y- e1 X# m
  158. STA $07F4,X
    , r- V; ^+ Q; i% f" Y/ q$ w
  159. INX
    * C! @& T5 g- F2 N  F
  160. CPX #$04) }2 k; C2 j; E7 B6 Q! b" Z
  161. BCC PPU_07F4_07F7' h4 L: _( h" f6 G1 B
  162. LDX #$00# ~4 U' ?/ A; ^0 Q% S. B$ M5 |( j
  163. COLOR:
    3 c% D3 U( e' s. O: p
  164. LDA COLOR_DATA,X" c3 I/ q* h8 M6 g. ^  h9 g
  165. STA $07C0,X% v( X" e/ I- b) r; D
  166. INX
    - i: y4 y& P" a  ]
  167. CPX #$10
    1 E1 A5 ~# H; E0 x0 i1 U6 n
  168. BCC COLOR' A# d" u9 A, f# u# |

  169. * z7 z( {/ n5 l7 e/ U( W4 k. d
  170. PPU_COLOR:; [, E) W  o$ E2 R, s# F9 m
  171. LDA #$3F( T3 V* o7 Q/ L0 U
  172. STA $2006
    $ A8 a; T" \. n, e  N. [) J
  173. LDA #$00; `5 e- t- `% v3 d/ ?! C2 p9 ~) s
  174. STA $2006
    1 \) |+ L1 Y% R: X, R$ a
  175. LDX #$00
    + `. [) D+ [& N7 B
  176. PPU_COLOR_W:5 _4 ~# H8 g8 r& t2 y5 W! j
  177. LDA COLOR_DATA,X
    4 _" |. U( O0 ^) @+ h8 ^7 h, S1 W
  178. STA $2007( V& r5 x7 a# I( Y
  179. INX
    5 i5 p: H2 k" y- ], \( W5 d
  180. CPX #$10
    8 S8 k$ }$ S7 G* v0 l
  181. BCC PPU_COLOR_W) g/ ]# H, k% x! s- C

  182. 5 z8 ~: L( r; |5 ^5 W0 w
  183. $ U; f! @! E6 l$ M
  184. LDX #$00
    7 [  s+ ~% Y/ X* l
  185. LDY #$00- t0 @* e0 y/ z- M6 c
  186. LDA $BD# D. G; k6 H0 B
  187. PHA" B, c( d7 E) \8 n5 X* v7 G! y
  188. LDA $BC
    1 S' L; e9 g, ?( n0 Z0 y4 ?6 b
  189. PHA6 r0 q+ d# h, i, Q
  190. LDA $BB' Q" L2 K8 c0 i1 K9 T3 ]9 u
  191. PHA6 B$ v2 Q5 j) q( ~, D- v
  192. LDA $BA# k8 N7 t9 g  e4 @6 m$ o# q2 X& o- @3 w) V
  193. PHA
    4 G+ K. }# \5 Z' f
  194. LDA $B9
      }2 N7 a! U7 x2 a7 O  D
  195. PHA
    # ]" f! F+ a; l8 Y' Y3 P$ n
  196. LDA $B8+ Q3 \  ]" O; s! B2 `
  197. PHA, x! E6 a5 Q6 i6 h' z/ Z8 ]
  198. LDA #$00
    / l0 X6 [1 u* E; w# \
  199. STA $B8! h, j# ~% g7 L' S" R% t3 f% {
  200. STA $B90 ~8 p- s6 }6 M5 z  T: X  Q
  201. STA $BA9 S7 l/ t$ ~$ a; M$ t  Q
  202. STA $BB9 J5 T4 i4 F! b  ^1 x; b
  203. STA $BC, @! [9 N0 c9 ^# A6 I" ~
  204. STA $BD' U# t; E' ?4 t& W- w" y  a
  205. LDA #$007 V! l7 C- Z, w
  206. STA $BA9 t8 U! _, @3 X2 q! h/ L) x6 Q
  207. LDA #$20
    . D# T/ v& ]% g; _6 O. X$ n: [
  208. STA $BB
    ; v0 ?$ I: T0 T4 }+ O
  209. LDA #$00$ r/ N/ c) E  w# h( B/ ^; p
  210. STA $BC% e# X2 C6 P+ R& P6 M
  211. LDA #$606 S  J  M# R( U$ {5 z# B
  212. STA $BD* z3 z* |5 m0 Q

  213. . W( l" t2 f* j# `5 [
  214. L1:                ; PPU复制
    1 o/ G2 p$ n& p' C$ O9 p
  215. LDA $BB
    5 n, T# S" _: @% o" @1 @
  216. CMP #$28
    % J6 s) S) j, \9 K8 T, k
  217. BNE L2
    : Z( S3 ?& W* p/ m5 y
  218. LDA $BA
    4 A! |- K5 P) n: s) Z, v
  219. CMP #$00
    ; A- x1 n( W( R* E/ X6 l. f6 A- X- c
  220. BEQ PROADPLA
    3 y* B# s6 K1 y: L+ C8 A  h# |
  221. ) p) Y+ n* N+ i) x& N% O& h9 S
  222. L2:
    : ]/ R; G2 ?7 Q( t# h4 F6 M" h
  223. LDA $BB
    2 J5 z% N: b: T- ?3 W6 |
  224. STA $20065 V. C3 `' J# h9 l2 f
  225. LDA $BA; B0 |, s2 m: q+ ^) t! J
  226. STA $2006
    " n$ K$ T# n3 Z8 v9 d# s

  227. ' S) M8 C7 g- L; n7 a3 Q% Q% l! j
  228. L3:
    " j" N% k. I* I- f( ^4 }3 [
  229. LDA $20079 C& R# |& g( l/ X( ^7 u
  230. LDA $2007
    9 A" Z' |9 D7 b& C, D
  231. STA ($BC),Y
    ( R5 ]2 `  l8 X5 L2 s) l

  232. 7 l5 C& N4 z: \
  233. L4:
    ( j$ U* W5 G: E& F. j6 F8 J: c7 w4 |
  234. LDA #$00
    + Q- G* Z+ Z# h6 @. ~) @
  235. STA $2000& V$ q0 ?7 ]5 {: Y
  236. INX3 J6 n4 f" R6 G4 R% G5 I
  237. INC $BA
    / p$ u( H7 m  b0 K9 V' n; ~
  238. INC $BC0 z1 i  @' U3 `) K/ z* ]3 A
  239. CPX #$00
    . |1 R3 F6 \, |! n& _
  240. BNE L17 n! z" h. e7 D, e3 e# q3 L
  241. INC $BB* A7 E0 m8 E2 T* {  U- ~8 ~: v7 n7 r
  242. INC $BD
    7 g6 P6 B) y. p% k7 t
  243. JMP L1
    ; r5 U, N6 I5 @* ~- R
  244. * g: k( C8 s; v2 O$ x1 \1 x
  245. PROADPLA:                ;出栈7 |, G: E5 ]2 B/ {
  246. PLA" c  z9 h2 T$ g' R& l& ~( V
  247. STA $B8- t* z7 p5 }# {; K/ }7 d1 ^: w5 C
  248. PLA, ^2 U$ y3 [  o) s9 C4 |
  249. STA $B9# ^8 S7 N2 N1 O% ]! ]2 T* h
  250. PLA
    & }  x3 ~: f" `* w- x- L2 s0 p
  251. STA $BA2 X. l  b9 J5 I, O* _
  252. PLA; b: F, ]4 p" }0 g; d
  253. STA $BB# x9 e# R7 H3 q# |9 r# ]
  254. PLA
    . C% W. j& ~# O6 z) ^
  255. STA $BC1 D# \+ C, L' f+ c% u$ F' s) H6 z  M
  256. PLA( r# \' D' }3 y
  257. STA $BD3 w: u# e( h& }3 z; l& Y8 B5 }( M
  258. CPRE:1 `. D* |$ f7 e' @
  259. RTS/ ?8 ?4 T& W# S5 r

  260. " K% H0 A# }  v* P8 H/ j9 x
  261. CLEANA:                ; PPU清空: m% {8 P8 z5 B& s
  262. LDA $BD
    5 ~7 D5 P5 y5 s3 m% k/ E7 z; _
  263. PHA' r  L% ^7 e4 `$ T0 m( L
  264. LDA $BC! h. U% A1 T+ x
  265. PHA
    9 P: O2 \, U5 I0 W
  266. LDA $BB; s# b5 `6 |+ K% K- B0 x" j
  267. PHA7 Z* K% L" i6 x- O- A$ \0 L' U" O
  268. LDA $BA; h' ^; u0 J' ?9 u& @! ]/ M$ w
  269. PHA9 E/ w6 k* D- M* h% t( b1 I
  270. LDA $B9
    ; S" W6 ^4 R3 ]6 Z  Q6 Q- Y) P, t
  271. PHA" v& p) d8 t3 v$ C$ I* ]1 ]
  272. LDA $B8* J: P* \2 a- o4 j" V" F
  273. PHA
    ( L3 F( {9 N7 @) F, M5 I
  274. LDA #$00
    ; d+ i4 w- _0 g; T; D3 W, O8 M
  275. STA $B8( G2 w; E( B! m0 L, o
  276. STA $B9( ~$ b. J( q  n. Q
  277. STA $BA4 P7 b# ?3 m5 X! F% c
  278. STA $BB8 k8 @, o' P  x, _; \
  279. STA $BC
    6 `  T# ?. L0 R" t5 K, R" G5 v2 ], o8 q
  280. STA $BD
    8 s* w* z. S7 U7 U
  281. STA $2001# V7 r$ Y  Z8 C- K
  282. LDX #$00- S1 x9 S" W; P6 t* d0 B& a: V' o
  283. LDY #$00
    ! F! ?; z8 B  L* @$ k
  284. LDA #$00
    : d5 W; s1 s2 Q- Y7 x
  285. STA $BA) a" X' W+ P6 ~6 Q
  286. LDA #$20& ^, }+ L* M/ E5 b2 ~5 u
  287. STA $BB# R6 S1 t! L* M7 ^7 P
  288. 7 A- J8 m: d+ v1 h" I. a  D7 h/ r3 E
  289. CL1:
    ' D! [; H: u( H* ~) ^
  290. LDA $BB
    ) L1 h6 n+ t/ ~7 A/ a- _
  291. CMP #$28
    ( r! y$ J. {7 a$ ]4 U$ |! w
  292. BNE CL2( |; I' E, T( a: i4 D4 k+ u% i1 P
  293. LDA $BA1 ?8 k9 \" X, P# S$ X% h6 K( c
  294. CMP #$00
    * k1 _9 Q" c$ D  e: g0 X' ]
  295. BEQ FREEWRIYE
    6 y. p/ A. u: q: V

  296. * {, ^5 e3 o" {6 B; E
  297. CL2:/ S2 N2 t' L+ u4 ?3 x
  298. LDA $BB
    9 X! L$ s' D, n8 x0 p" M# a
  299. STA $2006
    4 }, s. e6 U1 ^+ w
  300. LDA $BA
    , F/ ]" p2 m! u9 T7 `5 D' d
  301. STA $2006
    0 ?' H8 _. t, h1 Y; j3 n! {4 J

  302. " n! \# d7 M0 |5 t" l
  303. CL3:
    : d7 j6 E# l5 t0 G- _
  304. LDA #$006 M9 {( f7 u& W* S
  305. STA $2007
    ' s+ h( g! v, a# ?, B" Z" c

  306.   I3 p% a. b+ ]8 E
  307. CL4:
    ; Q; w) v/ z. M: J% D; f. i
  308. LDA #$00/ ]5 W. h, Q/ i
  309. STA $2000  M$ a4 [1 `! i2 H4 X
  310. INX
    . z5 D. c' ?! @3 a6 @( }$ j
  311. INC $BA
    6 S) D- ]5 h$ E; H. l' s3 O* O% l) o
  312. CPX #$00
    # r: C8 X1 @3 Q5 |" N! q3 a7 N
  313. BNE CL1/ z$ J" R3 O# G, x) a( s( ^( p! i
  314. INC $BB9 N: q0 [  i* h
  315. JMP CL1 : Q+ {  @: l6 P! }0 U( R
  316. " ^  D7 s' u5 I& M! w* m% }* y( q* I; y

  317. 0 Z6 y9 P$ `% ?5 q% j2 L# O
  318. FREEWRIYE:2 f. K1 I9 x6 B0 a' b" R
  319. + I& l# c9 D* u7 X0 I7 m
  320. NOP/ T& t) m" F# ^: a5 e8 q+ H- ]

  321. 3 }: e0 w7 M/ F" F6 m

  322. " {8 T! ]( G* z! `) D) j" A% N. n

  323. / }- [0 M1 I& I  P. f
  324. - F; {# Y/ F  Z0 _/ @4 |% A- F* Z
  325. , T! Z" K# O/ Z) d  y$ [/ `% C7 D
  326. CLEANF:                ; 恢复现场
    - y0 q0 T: p; Q* y
  327. - k6 o5 g3 `4 B& H$ G
  328. PLA
    3 D/ _8 c9 n% c4 l
  329. STA $B80 I  f/ a9 Z8 z: E% O/ s" M9 ?5 Z# s
  330. PLA6 @# }& A2 d2 F; a0 N# L8 a, U
  331. STA $B9- f. p2 B/ f5 d" d
  332. PLA) ~6 W9 p9 _$ d- y) L$ X6 x9 |
  333. STA $BA
    % Y6 k  A+ F9 k/ b/ G! p5 l+ F& h9 a" p
  334. PLA' j. L5 ^0 j1 o) D7 B% u3 `  [
  335. STA $BB
    - |7 @- `& N9 I
  336. PLA- v* }- c  F+ L. h* u# W
  337. STA $BC
    2 I1 D1 P7 `! ^( A: t9 w% L
  338. PLA: f$ |3 Z' J0 }. X) D
  339. STA $BD* s2 `9 b2 X+ o) i0 s
  340. CLRF:
    + ~8 w: H- X2 @* V5 d/ N0 T( q
  341. JSR FREE_PPU# a. y8 k1 v) h% u/ ~  O8 U
  342. RTS. {6 N  g8 P) x7 }/ l$ o, v; O
  343. ' q+ d: P2 |9 b" d$ E+ P
  344. 0 g0 A7 j9 m4 i3 F" S. X" U
  345. PPUWRITE:    ;PPU写回1 N6 X: A. }- S5 h4 y- P
  346. PLA) P# D- K- r% a" v
  347. TAY% r5 x8 ~5 ~$ u2 Y3 T" n  B" }9 N+ ?7 T
  348. PLA( R, @" f7 w7 ]6 [7 G5 \' `
  349. TAX
    4 X1 w4 m# ~* e
  350. PLA% ^& k' d: K, |2 ]
  351. LDA $25
    8 a: `* t6 [. ^+ F, B
  352. CMP #$00
    8 O- B7 ]2 D. n! `8 B
  353. BEQ WP1
    3 H% X" a/ i# {7 |8 D" a5 l
  354. LDA $25
    ; Z4 P( s/ K+ C6 f
  355. CMP #$01$ C. q6 C/ Q  I8 v' r+ G
  356. BNE WRE9 G- }" j; Y( [8 `  L4 K: R) ~  O# A
  357. LDA $F5,X
    ; H( {' o+ i; E3 Z  |* A
  358. AND #$EF2 _' w8 \4 K; d; K0 a# q
  359. BEQ WRE
    7 V3 W$ _. ?$ Y( k: p3 w
  360. LDA #$00- [! {, \2 w$ I! E" t8 F# I* P
  361. STA $7FA0
    " g, h) i  m9 c% \$ C

  362. 5 E7 X2 T8 |( O/ T
  363. WRE:* S" _  k) H! W$ A3 j
  364. RTS9 h: i- ~. N. F$ |' C7 @; V
  365. 4 m2 B. S3 Q/ `2 Q9 J, G; U: I4 v
  366. WP1:8 C1 ^9 o8 E) e: \( M- o
  367. LDA $7FFF4 \# q( W% Q) N: l1 ]- w* g; W, r
  368. CMP #$FF
    $ M  n/ Y9 S( r4 ~
  369. BNE WRE0 J  Q7 @# w! n+ `
  370. LDA #$00
    ' ~, w) Z; f& h4 m
  371. STA $20019 u& }9 X; U- R1 S
  372. LDA $BD) `7 k) t0 {5 }5 x
  373. PHA
    / A! l5 L& j1 \
  374. LDA $BC: P1 {, T7 {; A
  375. PHA- F5 a) T( o/ l8 }$ j0 B
  376. LDA $BB& p& B: d$ v5 X' q
  377. PHA
      ^1 ?% J* }/ r6 T. S5 G- j
  378. LDA $BA  C8 `8 E, {/ P5 z4 ?' V* e
  379. PHA% U  `* ?, Y& M$ R0 [" f
  380. LDA $B9. u& U; n* @5 c9 g% b5 I
  381. PHA4 t; M0 |& b+ J/ j
  382. LDA $B8' F9 {0 g0 m" R3 g* i( \
  383. PHA) d2 i2 y. M/ Q% X, |9 Z, F
  384. LDA #$002 C7 R+ g. w8 u# ~+ |& d& D
  385. STA $B8' X8 F" m. ~  I4 m
  386. STA $B9# K1 a4 l% T6 X: R0 j6 O3 P+ w
  387. STA $BA
    0 \6 Y* f! r4 P1 R* i
  388. STA $BB
    1 Y$ m# r# }. R/ |7 a5 n: p
  389. STA $BC* P: }5 |& u# s
  390. STA $BD- ]$ F7 q  a, u' T6 E9 _
  391. LDA #$00+ B6 y8 Z! J8 F' I! Q
  392. STA $7FFF# p* I) o4 j3 d4 X- I6 F

  393. 4 T% V& q) u8 U9 g: |' e1 \5 g' H2 W
  394. WL0:
    # G  v- [/ Q! P, ]
  395. LDX #$00
    ' I5 @( U5 n. Q) K, H( E5 {
  396. LDY #$001 p9 o. T' @3 @- g. K) y
  397. LDA #$00
    ' z; P3 n3 l: f( R5 T6 y# A
  398. STA $BA
    ! a' Q( Y; [) B/ D1 I& |3 c
  399. LDA #$205 a- p9 n6 a9 Q! O: t; i1 \) L
  400. STA $BB
    % K, f( S" z$ b8 ?1 i0 C! F3 F
  401. LDA #$001 T& q+ u; x. _+ m
  402. STA $BC
    3 B( ?2 Y6 n7 ]# E9 \, ]
  403. LDA #$60/ O, ?( ~6 N- R, B8 Y
  404. STA $BD" z: s5 ?8 F, w1 m. C

  405. - b4 x! k" s9 Y: G, q
  406. WL1:! z9 `5 N& v' V
  407. LDA $BD
    . Y( ~' R3 R8 R) q9 _
  408. CMP #$68
    4 N! \1 K/ Z$ y/ N% h1 ?
  409. BNE WL28 j. R& B9 O- S4 u) i) p( S
  410. LDA $BC* q0 b7 w. S' h5 z0 a
  411. CMP #$00& k. k) ]1 ?% L. G3 U
  412. BEQ WLR8 c/ M& I5 Y" e, B  i% T" Y" T

  413. 3 c, V% j$ }! R$ M# C: u
  414. WL2:: B  T. i# m" J5 O2 Y" U) Z
  415. LDA $BD
    . k) L) v7 f4 k! B
  416. STA $2006* o9 ^) z9 h, n$ N- _  Q5 j& d9 ^
  417. LDA $BC) y* T; i5 B  Z1 f+ E# e
  418. STA $2006( o) b( [2 |% E1 P

  419. ) [) T8 w3 ~- P& r( b
  420. WL3:
    8 w: `2 K3 p( F) h, Z0 i% c
  421. LDA ($BC),Y( ?' a  X* i+ [$ C# h, a4 x
  422. STA $2007
    ' r5 ^$ v5 P- _4 `# ^8 C6 P5 G
  423. 9 D2 I! c9 B' y0 R% {0 k# k
  424. WL4:
    7 B& @$ w! I& K! b( T
  425. LDA #$00
      G: s9 f7 s1 e
  426. STA $2000; N2 V6 c. u& k7 [+ i
  427. INX5 p( I$ g/ d. t
  428. INC $BA: |3 ]/ V  y* _: I
  429. INC $BC
    $ w* D6 l, Z9 I2 F' ~
  430. CPX #$00
    % X; K+ {1 W/ p4 B; X. S
  431. BNE WL1
    - _8 @$ [; L1 q$ u2 ~+ P" z) [. y% w
  432. INC $BB
    7 q& p# y# T+ _. {' |) n5 s4 q
  433. INC $BD
    ) W2 d( d! {- P0 \0 e% a, a% b
  434. JMP WL1
    ; L; K9 f$ n6 Y* O0 c# e
  435. " O; N: j3 I- d9 L* W1 b
  436. WLR:8 V. ~3 S& \# E; `. X" j7 D
  437. LDX #$00
    $ e7 W( ~5 z: [. q
  438. COPY_7F00_7F3F:
    . u. X0 }! D: F4 c) Z- J
  439. LDA $7F00,X! D: y( _8 L2 N; j; y- z5 ^( c# l
  440. STA $07C0,X
    3 O# B* T+ J- E0 W$ r
  441. INX
    7 a, F+ J% e' D6 f, j& x$ D
  442. CPX #$40' u9 M6 B* K+ V: E# S! q
  443. BCC COPY_7F00_7F3F
    / m0 J. k) F) @0 A6 S; e
  444. 6 U- U+ C6 M3 l0 t  }" P7 @) f
  445. LDX #$00
    " T$ q' J3 k. f9 R7 x4 b2 E+ P
  446. LDA #$3F
    5 Q/ U, N: g$ \) B. \
  447. STA $2006& M5 K( |( e8 y# {; C7 f
  448. LDA #$00* N, F- O0 F6 W, Y
  449. STA $2006
    ; Y' E5 l1 r: ]' ^% L! p3 {
  450. COPY_7F00_7F10:
    " d7 F  Y. k; w5 |2 b9 [7 F
  451. LDA $7C0,X
    - |) }3 v! f1 }) c& n* G
  452. STA $2007
    ( `, \2 L$ Z3 U4 ?( W& l
  453. INX
    1 i# }' T6 N2 U- {$ w' Q8 F
  454. CPX #$102 g. p( o* v1 {3 w
  455. BCC COPY_7F00_7F10- [. b1 r# E0 V# D
  456. & l+ ]- z# I  P/ m9 V  U
  457. LDA $2002
      @: v4 K& @4 m, p7 m5 ?7 b8 l' D
  458. LDA $FD# J, J! n' A! U; r
  459. STA $20055 d- B4 q  K: K2 b3 j$ u
  460. LDA $FC
    9 P- F& d. w2 }1 X9 [
  461. STA $2005
    4 l; E& ~* z+ c% D- D

  462. ' e! c2 e, f& D% U8 l8 t8 Z' Q2 r7 q
  463. LDA $7F50- S) W* {* M" H( }1 G
  464. STA $FE* Z# R' o. n3 @! a/ ^, h! a$ {' d
  465. LDA #$004 P3 |4 {# J! J: u! G
  466. STA $2000" ]! w/ E! R0 d
  467. PLA
      o' E3 X1 j# O' j' l6 i1 W
  468. STA $B8
    2 U9 t* w) Z  n! J3 M& l
  469. PLA
    8 Y0 g* ~! T, v. v  O8 s
  470. STA $B9
    6 F9 p6 _2 {# P( F) ~
  471. PLA
    : }# V2 y4 j3 x- f
  472. STA $BA/ @1 F1 l9 U0 w  ?' F6 C
  473. PLA
    & g: t, e! C; H
  474. STA $BB4 ]" }5 e" {+ X1 M5 G% g$ L
  475. PLA
    ; Y/ z. l, e9 T! M/ R
  476. STA $BC2 L! G" ^6 l5 P  C! M
  477. PLA2 [" ~4 v" f9 H# K: u1 Z
  478. STA $BD
    8 ~( [# L0 N9 ?. h

  479. ! K  m* N9 a" t6 {$ p; [+ Y
  480. RTS/ t) `5 U9 N5 c) D4 K) J1 h
  481. 6 H% y, \- }0 u. H
  482. PPU_CMP:$ q+ U) o: g: k. I- X8 d
  483. - Q/ _: T/ s' K9 E/ C7 L

  484. . f6 @. d( s7 Z7 W! K/ x
  485. PPURE:
    9 o6 M2 |! K3 |( O0 b8 V9 X( J
  486. RTS
    # C" @8 f+ [( X8 U* k

  487. + y, R) c8 s" I% ]/ z. n' U/ D

  488. 7 {: C8 m& V+ \& e; h$ X/ D
  489. FREE_PPU:
    5 I) u) ?! ]7 |. U

  490. , ^" Y) ?  M5 }( b
  491. JSR TEXT01_PPU# y2 F& A0 s; y6 V. z2 B' f2 z" m
  492. JSR $CBC0* e% ]. r2 l& a) H- q
  493. JSR P1_PPU
    ' U4 \  v) Q" a" C. u$ V
  494. JSR P2_PPU
    # d) f; i7 k) R: [
  495. RTS) }& y6 E/ R- N( M
  496. 8 r) c* y& t1 X" q+ b
  497. TEXT01_ADDR:  H& |0 E% Y, A6 R
  498. .BYTE $20,$42
    7 ^/ N3 r' V% N/ n$ L9 Q2 d' k
  499. TEXT01_DATA:
    . K6 r% i: }7 B* G0 H
  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,CEND8 U# {! b( J& l
  501. TEXT01_PPU! j7 A4 C0 E+ B: N- x
  502. LDX #$00! {7 b% N6 |6 R- J4 {
  503. LDA TEXT01_ADDR* Y3 p- B$ [+ w* P
  504. STA $07034 c  }5 z& F9 z0 W  m
  505. INX
    5 Z5 V, {- \- |* a, d4 j8 ]
  506. LDA TEXT01_ADDR,X/ ]& g( z6 i' ?4 S
  507. STA $0704
    + ?) L7 I9 |* x7 x" @- c4 r
  508. JSR PPU_PROCESS
    5 w5 k  u/ g3 \' e- T
  509. TEXT01_W:
      T' W+ M: F: s" Z
  510. LDA TEXT01_DATA,X
    ) ^; M; A3 T  C. ]
  511. CMP #CEND1 r+ l! L0 H$ O  a
  512. BEQ TEXT01_START. H$ v8 e1 _5 s, ]9 S
  513. STA $0705,X% D4 n3 L2 ~' N% t5 ^' t
  514. INX
    5 V, c9 M& s3 r  b. z  T  E% G# A5 r
  515. LDA #$00
    * O! T. x6 e3 L) O4 v5 s+ d# y
  516. BEQ TEXT01_W" w" d' l- N4 X) G5 {# ]
  517. TEXT01_START:
    $ C  c1 l; {" k0 m, v8 w+ i6 a4 j6 }
  518. JSR PPU_START) F- O3 z, Z* V2 h
  519. RTS
    . E( T5 u* Z& u' Q+ g
  520. , m+ |1 m% s" k' x( G
  521. 0 G/ Q2 n2 L& Y, U' t
  522. COLOR_DATA:
    " T0 J* A2 z" q3 K* N
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$288 j' l6 f( v. T
  524. 3 k: q: S: c1 n2 R4 K! b, `; M6 h
  525. P1_PPU:. j& a/ H- B$ `" L$ d
  526. JSR PLAYER_01_PPU. r8 w: X. b( c8 H
  527. JSR $CBC0: i9 E& N2 h9 j6 c" p( N  ^2 {' ]
  528. JSR RELIFE_P1_PPU, I) L; v. F6 K! M9 D2 R- v/ _
  529. JSR $CBC0
    & w& M* i5 L' H. J$ k- f& X
  530. JSR RELIFE_NUMBER_P1_PPU
    " r" u! f& J; c" b
  531. JSR $CBC0
    8 P* |' s" d4 L
  532. JSR WEAPON_P1_PPU
    5 c0 u6 S4 z& j
  533. JSR $CBC0
    3 s! C& ?+ V0 p7 C" a
  534. JSR BULLETPPU_P1_PPU  f" _7 _0 E+ w& k* g! ]9 \
  535. JSR $CBC0/ ~  _( p8 n% Y( d0 ~
  536. RTS
    , }; g) G2 ~6 B

  537. & M0 J& @' t6 q+ K+ |, u" j
  538. P2_PPU:. G9 z9 L& i% t1 _$ A% M
  539. JSR PLAYER_02_PPU
    % b  p8 x( @! m/ R, j
  540. JSR $CBC0
    ) P0 Q% `* _6 P4 l% }
  541. JSR RELIFE_P2_PPU9 ~$ Z4 b4 ^2 W! o
  542. JSR $CBC0! I& S, E+ @' w- I* p/ m5 `) {
  543. JSR RELIFE_NUMBER_P2_PPU, t2 `3 ]+ {( F" B
  544. JSR $CBC0
    ' u1 |0 }. A4 H) ]8 y
  545. JSR WEAPON_P2_PPU, ]" n2 f0 q- q! O/ ^. B- W) M
  546. JSR $CBC0
    $ b; E4 L0 n) N4 F6 ~
  547. JSR BULLETPPU_P2_PPU( Z& f9 _9 X8 Y6 A8 f$ }- I. }
  548. JSR $CBC0+ J) R5 y* q) Z/ a0 B
  549. RTS# `& n/ B& A5 v5 y$ x4 H  E
  550. ! V* K) h# a, s# L  \' N
  551. " ^: o3 l+ s2 |) U" s
  552. . a; o1 t+ z1 v/ i4 o- }2 Q; j
  553. PLAYER_01_ADDR:
    6 H9 x7 _9 B! T9 _2 a
  554. .BYTE $20,$A37 }8 f0 d* O: {3 {; X$ f6 q
  555. PLAYER_01_DATA:
    . \( J! [$ R4 T7 c" @; r  z9 O
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND
      z5 X  d( ]$ z/ w* f
  557. PLAYER_01_PPU:
    + A, ]" d) N8 n/ [5 f( C2 Y6 e
  558. LDX #$005 l! ^6 A: r- a
  559. LDA PLAYER_01_ADDR6 t9 X! g& y! c7 I+ _3 d6 a6 q
  560. STA $0703
    + k$ p  l- Q1 i4 v
  561. INX
    1 ^, P- J7 k* b+ c
  562. LDA PLAYER_01_ADDR,X' l+ |7 m" g- P8 i8 @- @' V$ b' ?5 ^
  563. STA $0704& s5 Q( ]0 }8 l% |
  564. JSR PPU_PROCESS
    1 s# S6 W  m( i
  565. PLAYER_01_W:2 ~2 V/ n* J# r( G& s
  566. LDA PLAYER_01_DATA,X; V" `- I8 I- F4 V7 C8 p
  567. CMP #CEND
    # r/ _" k% M# z# V
  568. BEQ PLAYER_01_START
    3 \5 R& t9 m' [
  569. STA $0705,X6 n" C* T, E0 f. X
  570. INX; Y+ K. Z; u2 F5 F' C# b
  571. LDA #$00* H9 v- h5 w8 [- x2 W, k- S1 o
  572. BEQ PLAYER_01_W: s' K: f6 W2 Y% ^3 f
  573. PLAYER_01_START:* j6 R  l% F- P
  574. JSR PPU_START
    3 P  [; P, z# S* N4 M
  575. RTS
    + S; D; A% T% Q. r: L
  576. ( s, m/ b" h/ J3 V/ u

  577. ( O/ a4 S6 X9 e4 O2 u
  578. RELIFE_P1_ADDR:
    ; d2 _6 |3 B0 u/ l2 J
  579. .BYTE $20,$E3# c2 H/ c2 ?! S7 l. y- ]5 x
  580. RELIFE_P1_DATA:
    . C6 ]( H7 o1 c/ C0 ]1 d9 X: `
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND
    * K' r; L: g' @9 u
  582. RELIFE_P1_PPU:
      t; Y5 X7 D6 S& y* C6 a
  583. LDX #$00
    ! R# A3 i: A; l1 [
  584. LDA RELIFE_P1_ADDR* }% P4 F9 A2 k- X) t
  585. STA $07039 R3 d* Q. D6 u
  586. INX1 p& G7 z! A# c% q
  587. LDA RELIFE_P1_ADDR,X
    2 b  C& n7 I1 a8 J0 Q- j2 `) X
  588. STA $07041 A2 F1 a( v( n0 c% Y5 u" Q2 \
  589. JSR PPU_PROCESS
    / W  Y: L! U. y, c5 r" r
  590. RELIFE_P1_W:
    " G% c0 h4 U: L: i) h9 C) [
  591. LDA RELIFE_P1_DATA,X' z2 s' v: j  x7 l7 @6 v
  592. CMP #CEND
    5 S6 B* `8 w5 a
  593. BEQ RELIFE_P1_START
    1 s6 S9 e2 ~, [9 j4 H9 i
  594. STA $0705,X* s, U# g2 u" A- S- @  J, z
  595. INX
    + u) U! o4 ^# \* n( U* ?0 v
  596. LDA #$00) d& c3 e5 E9 j2 w+ ]) a9 {
  597. BEQ RELIFE_P1_W" t9 V8 E% F. K
  598. RELIFE_P1_START:( T. O7 y1 ~( H9 j" p2 d
  599. JSR PPU_START# S  \1 U! O5 j; R
  600. RTS: c7 C2 M9 t; k. y1 c' F
  601. 4 o; A' W6 H, C1 C& R! \

  602. ( G8 P0 u. k, ]4 @+ j
  603. RELIFE_NUMBER_P1_ADDR:6 G! L: F0 @% ]: V' I
  604. .BYTE $20,$EA
    ( q7 H/ [/ ?1 N) f! B* O1 t
  605. RELIFE_NUMBER_P1_PPU:) X& }" w7 Y4 I+ ^
  606. LDX #$00* j" i1 x, S6 ?, P) Y
  607. LDA RELIFE_NUMBER_P1_ADDR, x/ @5 X7 A# B: y" ]8 W8 ]
  608. STA $0703
    ( r+ e- Z+ v0 J
  609. INX2 e8 ~* ~; M% N) Z# P
  610. LDA RELIFE_NUMBER_P1_ADDR,X3 p& A% t/ a' I; i# W  I% V+ S
  611. STA $0704
    8 y, o6 z" ]- \# @0 ]
  612. JSR PPU_PROCESS& i: j( X. t! @4 `, B7 L' L
  613. LDA $32* r0 d' i3 R5 k; [# C' R
  614. JSR LIFETODEC; E3 z' d8 L* |# l  s- ?, c
  615. RELIFE_NUMBER_P1_W:* q) c' H7 a2 f. Q2 X0 p
  616. LDA $7A03, N1 X5 ?- c' o2 V5 Q9 u! P& f' {
  617. STA $0705; P' [. H, W- O! j4 D5 Q0 c- }. j
  618. INC $0705
    3 L2 L, h7 B% [% o2 Q
  619. LDA $7A047 i! I- y0 }; @7 C4 v
  620. STA $0706" @  O9 _3 ?  }/ m
  621. INC $0706
    ( |; L, Y- p9 [; L
  622. LDA $7A05/ a8 F# c7 L7 A$ T1 Z
  623. STA $0707
    ! L( m/ K, d9 u8 R) h+ d6 U7 V5 R
  624. INC $0707
    ! ~& _* H9 O& a9 F  \
  625. LDX #$03" j* O3 T0 {; w( N/ w" V7 [' Y
  626. RELIFE_NUMBER_P1_START:
    + \% W7 @- |/ U  u( j" C4 m
  627. JSR PPU_START
    & k4 z. X+ g% b4 J8 i) F. I
  628. RTS' R4 ^# j" {6 X' q7 u
  629. ! O5 T5 e6 b8 s: c) N
  630. WEAPON_P1_ADDR:
    " N: v; m2 f  S! p- Q/ n# u! B% ^
  631. .BYTE $21,$23- P+ F/ [0 h' m$ b2 U0 x
  632. WEAPON_P1_DATA:6 V$ f+ s/ F$ L, [
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND
      a4 V7 e5 Q* e1 W& {+ R0 N) m
  634. WEAPON_P1_PPU:: c# q: ^% ]# b/ m. {# O
  635. LDX #$00) d+ e" E# `1 Q: C' c; E, _
  636. LDA WEAPON_P1_ADDR
    8 W, T1 q; `5 o8 `# e
  637. STA $07030 X; z8 w: O3 C$ B- ~0 C1 M! ?
  638. INX: D  n* c) `/ j
  639. LDA WEAPON_P1_ADDR,X6 V- A2 ^+ K2 j6 }6 H
  640. STA $0704
    $ Q& E$ m3 _- i0 J4 e& V
  641. JSR PPU_PROCESS
    * i* d) P9 W( l3 `6 d7 C& h
  642. WEAPON_P1_W:
    7 l0 I3 \& H, J5 F+ P+ j1 p
  643. LDA WEAPON_P1_DATA,X2 {; X4 O6 S/ K
  644. CMP #CEND
    9 v$ Z6 t, _' A5 P$ W
  645. BEQ WEAPON_P1_START. _7 U, ]$ a+ |7 k9 r7 ]
  646. STA $0705,X
    . M) i  t/ n7 B# A
  647. INX
    ! o9 |. a3 G% r% T6 V
  648. LDA #$005 ?' e# I3 P% f8 \% r' j! o" A
  649. BEQ WEAPON_P1_W
    8 a# D9 ~0 x1 H0 v( P+ |, W
  650. WEAPON_P1_START:
    7 d4 Y7 a( d8 d2 @+ h
  651. JSR PPU_START
    % p) n+ }; [$ \
  652. RTS- J. M/ E- a# p& w6 p: Z

  653.   [; q  w7 v+ k% f* H$ j
  654. BULLET_P1_ADDR:
    & ]& l4 ~/ q1 Y  c$ f  A
  655. .BYTE $21,$2A" d9 T6 d( O  O7 D5 X
  656. BULLET_P1_DATA:0 M6 j& m: L  b; v9 E( r
  657. .BYTE $00,$01,$02,$03,$04: ]$ ?' Q' R2 b# _! Y. T
  658. BULLET_P1_NAME:
    4 s2 O0 i7 u7 g: U; M
  659. .BYTE CN,CM,CF,CS,CL: y0 n& H- Y& I" {

  660. ' {6 t3 m5 b1 ^( y, G7 C
  661. BULLETPPU_P1_PPU:
    + F' ~% J+ o7 H/ X- R
  662. LDX #$00$ l0 r; B8 s6 V4 S
  663. LDA BULLET_P1_ADDR$ X2 T" n7 @6 N
  664. STA $07037 P0 _; c. k. W
  665. INX$ y  k9 U0 r  Y; Q% G5 Q8 o; |
  666. LDA BULLET_P1_ADDR,X7 r" t- o( Q$ {
  667. STA $07042 Y( {- w6 I0 K  Z( \* D9 x
  668. JSR PPU_PROCESS3 B, D- z6 X+ ~: B8 H, Q
  669. BULLET_P1_WRITE:
    & U* S# o1 N  |+ K
  670. LDX #$00
    2 A6 c0 [0 @& o( q
  671. LDA $AA
    + M  q. m" ?2 k% _3 ^
  672. AND #$10
    & U' y/ e$ f5 |4 L& p
  673. BEQ C_BULLET_P1
    2 V# _. i; J0 z/ l
  674. LDA #CS
    . F8 S3 E+ E- p+ G9 A( a# V& D: p
  675. STA $0705
    ! ~& l0 f$ O3 H+ S7 X, M2 _7 I
  676. BNE B_NAME_P1
    + I1 M9 L* ?3 P4 a6 _* D% ?
  677. C_BULLET_P1:& [+ f$ T4 u$ Q  S( c
  678. LDA #CC
      Q& x5 q1 x% I2 K4 Y
  679. STA $07056 n- A3 p! X' s8 y8 T" K6 A
  680. B_NAME_P1:+ G5 P. a1 Z# P& m/ W% W6 x1 I# V
  681. LDA $AA3 v; [7 V) ?+ M/ I- s; N. \
  682. AND #$0F
    / l# [* A  |; b! I: P
  683. CMP BULLET_P1_DATA,X
    9 c( N! I# S7 P+ U$ S' I
  684. BNE B_NAME_P1_RECMP
    3 V& r5 N# M0 v7 @! O
  685. LDA BULLET_P1_NAME,X& Q  l/ |' r7 ]- U3 K
  686. STA $0706
    ; }" R) |5 E8 X) }
  687. B_NAME_P1_RECMP
    2 e/ A3 t6 i2 _
  688. INX) `1 Z* R' i# g
  689. CPX #$05
    " {, q; _3 R4 N3 e
  690. BCC B_NAME_P13 v$ i& H: ?, F2 M% O) V: ~; ~: l9 ]
  691. LDX #$02
    : f7 w+ I0 r# x# r1 k) s- D# ]
  692. JSR PPU_START: e6 C* x# B! G% p, u' [- N# y% a0 H
  693. RTS$ W' P; H" g, V( t+ N

  694. 5 G# L" v2 ?0 X! o  ]# j

  695. , D6 U  b" \+ \1 E& p
  696. PLAYER_02_ADDR:; t% b) F1 Y- D6 P
  697. .BYTE $20,$B3$ m* H# k- _( m3 L
  698. PLAYER_02_DATA:
    0 Z5 x# v" Z/ S" c
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    2 l4 P& V0 q/ O, d) ?. p2 G
  700. PLAYER_02_PPU:
    1 G! k/ l  W: O7 R* @# \
  701. LDX #$00
      g4 i6 A7 H# ]( ~
  702. LDA PLAYER_02_ADDR
    ( m# \) ]8 n7 ~0 g, {0 d1 O
  703. STA $0703
    * R* K# C! y1 N. b1 e& o4 B/ U6 }  h) U
  704. INX: T) y! x$ m( _! W
  705. LDA PLAYER_02_ADDR,X+ `, ^1 k. `. f8 M" a4 r9 q
  706. STA $0704
    + _3 P* ^/ l4 N; f2 i
  707. JSR PPU_PROCESS7 v$ A7 u( i" e" m1 T
  708. PLAYER_02_W:
    3 F# w! z/ C  s3 s
  709. LDA PLAYER_02_DATA,X
    5 p$ U7 Z; {8 ]8 G8 c, u+ \6 U
  710. CMP #CEND" L4 Q9 R7 L! K( f, i
  711. BEQ PLAYER_02_START, d* t9 b5 r; P$ d# M
  712. STA $0705,X
    4 X! I/ _* o* b8 g
  713. INX
    6 l0 A' r9 o0 J0 Z& R; z" k
  714. LDA #$007 l4 ?& u6 ]' k# u/ E  Q% ]$ c
  715. BEQ PLAYER_02_W
    5 n; |/ d# N+ j2 |$ A
  716. PLAYER_02_START:
    5 b; t0 b0 k- V, }# c
  717. JSR PPU_START
    ( Z2 d# a0 g) o! {" N
  718. RTS
    6 ^) X* }8 r( I: [/ B8 T+ o. k' T6 |
  719. 9 s2 b- F# P, Q3 l" ?

  720. 5 A  q8 A0 a; ^# L4 E# J
  721. RELIFE_P2_ADDR:
    , K9 |8 J8 \# C: M- w3 S- E
  722. .BYTE $20,$F3
    6 e0 M* H4 h, M0 }% X. s
  723. RELIFE_P2_DATA:: G. s1 R' c4 A. b, u3 C  J
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    9 k/ X8 ~( L1 ]' Y
  725. RELIFE_P2_PPU:: W+ Z4 j; a# ~8 y# ?
  726. LDX #$00
    3 A: S& U# M. G8 ~- b9 f5 c
  727. LDA RELIFE_P2_ADDR$ x! a" a& E! q2 U
  728. STA $0703
    " e$ y( S6 v- Y4 P: B5 I
  729. INX& k% ~: e# m* e- [
  730. LDA RELIFE_P2_ADDR,X5 X4 F# V" T7 F
  731. STA $07046 b3 P  k3 U" |' ~( I1 n+ G
  732. JSR PPU_PROCESS. D! r6 t9 p% k5 \
  733. RELIFE_P2_W:/ }6 E2 C7 k' Q. |' I  L
  734. LDA RELIFE_P2_DATA,X3 E5 z3 m8 `) k- E3 u8 a( X
  735. CMP #CEND
    # m. d. b7 |3 \( R3 n5 ^
  736. BEQ RELIFE_P2_START* t* Y6 j5 A: `4 G$ D- \4 |
  737. STA $0705,X7 b  L8 [% U9 o% s
  738. INX, v8 q5 [" Z& w0 }
  739. LDA #$00) k5 f8 }4 @! i% p3 [$ s2 L
  740. BEQ RELIFE_P2_W
    & n# e4 q$ m0 u( `8 |; x5 M
  741. RELIFE_P2_START:* C9 J! v8 \* H1 n* V- e8 v
  742. JSR PPU_START
    2 T! H3 J5 v4 w" h! A$ S% B6 z$ D
  743. RTS
    ! x* G0 s+ u9 I" [3 Y# C

  744. 3 {, x- ?" Z3 \% H  h

  745. - j3 H$ j# d/ Y0 M( z6 Y1 |5 e
  746. RELIFE_NUMBER_P2_ADDR:
      v, ^/ T! w4 B& D9 Y6 h" e9 X
  747. .BYTE $20,$FA- l; @" q$ M% m; w- w: S( p4 s
  748. RELIFE_NUMBER_P2_PPU:
    2 N% m1 N# k6 O; \' G5 o
  749. LDX #$00, F2 m  F# E( }. c3 t. {
  750. LDA RELIFE_NUMBER_P2_ADDR
    ' R" z1 L/ u) @1 M
  751. STA $0703% ?* Y* z0 s) S# j
  752. INX# R+ a% c7 l9 O: ]
  753. LDA RELIFE_NUMBER_P2_ADDR,X3 f/ W3 B+ @$ @, ~* v
  754. STA $0704: m# N( u1 U! ~: Q" N# R# j
  755. JSR PPU_PROCESS3 m) M! `1 \- r) \8 R
  756. LDA $33/ d8 l" c: Q  E! o
  757. JSR LIFETODEC
    * O# j) G* D" Z+ l3 y) H
  758. RELIFE_NUMBER_P2_W:
    # Q' X+ w2 m, L" h9 s) y. p
  759. LDA $7A03
    $ M5 M, f3 Z3 l( b3 M# q& u5 W  F
  760. STA $07050 ^+ T* ~) g  \9 ^3 R
  761. INC $0705" ~1 J: J7 _6 D2 n9 [
  762. LDA $7A04
    + m: z8 `6 ~6 l% U  f. n
  763. STA $0706
    + B  `( u4 N/ f# A4 s) [
  764. INC $0706
    ! q2 Y, S9 D/ e0 o/ X
  765. LDA $7A05/ Z: ^" {& f4 b( t' O" ]/ F
  766. STA $0707
    9 k9 p! e* D2 C& l6 Q  C" o
  767. INC $0707  q( U4 S5 K7 V2 \4 |6 \
  768. LDX #$03
    # ^! Z$ ~6 ]$ F
  769. RELIFE_NUMBER_P2_START:
    1 f# R; R, B* {
  770. JSR PPU_START
    : I" p) L' |2 N) t
  771. RTS
    3 F9 @- b3 v/ p1 e! F  I

  772. & r! h' k/ d1 i
  773. WEAPON_P2_ADDR:/ H% B! g) G0 `" X  _8 h8 }, s7 S
  774. .BYTE $21,$33
      c. ~1 P8 G) f& E% ?6 H
  775. WEAPON_P2_DATA:; s/ h  \. C) ^+ D+ B+ E9 p' O
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND
    . j* Q% F1 a# `' i+ b) m% j( ?
  777. WEAPON_P2_PPU:
    + d; T5 G2 U% R) |7 Z' ]
  778. LDX #$007 y( l: h, `7 k" D
  779. LDA WEAPON_P2_ADDR
    , {- b9 O, J3 L! L2 e* g/ }7 n
  780. STA $0703/ y2 r% b5 m. \) z# U
  781. INX8 ]& t) Q. M* D4 @+ T. x
  782. LDA WEAPON_P2_ADDR,X
    4 S5 G1 I& l5 K% q3 i, H! l9 `: h; `
  783. STA $0704
    ( ]% [5 l, p0 B7 U
  784. JSR PPU_PROCESS
    + U' E: \7 @" _' }+ m- K5 Z0 ^- `
  785. WEAPON_P2_W:
    % H/ u1 B* z4 R  _- A
  786. LDA WEAPON_P2_DATA,X3 D+ r1 V/ M9 V5 D
  787. CMP #CEND
    6 e2 T% q' u2 F1 N% U
  788. BEQ WEAPON_P2_START& q  ?) ^  H( ^6 C0 \/ r' [
  789. STA $0705,X  F. J$ f* w" q. i
  790. INX: j# ~3 {8 h/ C4 x8 G+ S8 }
  791. LDA #$00: D. k9 V7 C* M) z7 {
  792. BEQ WEAPON_P2_W
    * z' a- u4 t, u2 o: Q
  793. WEAPON_P2_START:
    , `  t" G  w: Z3 h
  794. JSR PPU_START( b% b- I4 ^  K% O; v7 I
  795. RTS; ?$ H. e9 Y- Y9 H- c

  796. % \5 Y' l6 a% e/ Z, M- ?
  797. BULLET_P2_ADDR:
    * U3 C* S! H& ?
  798. .BYTE $21,$3A
    / z- a3 c; Z4 \: r# ^9 k/ x$ r5 s
  799. BULLET_P2_DATA:2 G. ~$ l" c8 W1 [+ P
  800. .BYTE $00,$01,$02,$03,$04
    ( p8 J. ^! E) m) M
  801. BULLET_P2_NAME:
    5 g4 w% J5 O1 [6 i+ D  L8 p
  802. .BYTE CN,CM,CF,CS,CL
    9 ~( t( O4 |8 E( o$ e6 O' c: {
  803. 4 a5 {' ]/ ?) X! i5 q% m
  804. BULLETPPU_P2_PPU:
    ! Q5 h. C* {; Z' f4 q# E% n
  805. LDX #$00! d6 D# k: z; e. Z5 N& Z" V
  806. LDA BULLET_P2_ADDR
    4 Y2 C" g/ O1 b( z, r! q. P9 c1 `
  807. STA $0703
    2 c# |0 o  g3 M! w
  808. INX8 a! C. @# S5 X/ H( }. q/ S
  809. LDA BULLET_P2_ADDR,X
    ) n4 L: R4 W: t0 z  D
  810. STA $0704
    % t' h" I8 ~3 g6 S" M' C+ k
  811. JSR PPU_PROCESS
    # ~( p( m/ [0 A' L, V
  812. BULLET_P2_WRITE:
    9 u: _& F7 P  v, n% N5 _
  813. LDX #$00/ U5 l: m; }+ ?; [
  814. LDA $AA8 ~- s9 R  e& b
  815. AND #$10
    % S* d7 u3 @; b2 J8 o; C$ v8 k
  816. BEQ C_BULLET_P2
    / l/ D& ]& R8 p' m# _  C2 m
  817. LDA #CS+ Q( J& Z3 a& d4 A) p
  818. STA $0705
    , W9 e, W0 V7 F& W" ]" Q/ _
  819. BNE B_NAME_P2
      f- \: H& j: f3 {' m
  820. C_BULLET_P2:
    $ L3 P* N/ C, U' d# n$ {2 J
  821. LDA #CC7 M2 Q$ M; J; j- b1 \* b4 r
  822. STA $0705
    % I" B) V/ R: V. R" h
  823. B_NAME_P2:
    & |: H. d" L- f* w( l- S9 j
  824. LDA $AB
    & m1 f& f7 E+ f- k. k7 a  ?4 |0 D
  825. AND #$0F
    $ F3 w! j, D2 f5 Q! R# F
  826. CMP BULLET_P2_DATA,X
    ( r% p  {. o; H" M* y. m& x
  827. BNE B_NAME_P2_RECMP
    . \2 c2 s0 W3 e9 r6 Z" J' x( F
  828. LDA BULLET_P2_NAME,X
    6 K5 k% w+ C9 |- Z' V( _, T; x6 G  }
  829. STA $07068 v# `5 l( T1 Q& ?
  830. B_NAME_P2_RECMP  f/ R. z0 B; j5 i) h: e# k& I
  831. INX
    9 f3 I5 k4 ]( ^
  832. CPX #$052 D* A8 g2 G& Y8 B! O; {: c
  833. BCC B_NAME_P2
    1 W; p2 w5 P( D$ ], b! m  ?. r& R! Z
  834. LDX #$02
    0 N2 Y# U2 h  ]; p9 T
  835. JSR PPU_START
    & ^" ^  O* V* _/ V! D( S
  836. RTS/ g2 |  K% K$ ~, N0 d- Y

  837.   S7 b* r' L5 Y( |8 B# f
  838. $ I  `9 E: {+ q$ @' i; L
  839. & M6 l+ s9 w9 K
  840. 8 L" i' H2 g( ^
  841. 8 Q6 x9 v. {9 A, s  T' Y

  842. 0 Q1 C6 z, n/ y7 S4 c
  843. LIFETODEC:                ;十进制转换
    ; c. _/ w. V- d0 r: }* B' E
  844. LIFEL1:        ;initialise
    : {* I! X6 b8 _: R0 I
  845. STA $7A00        ;$7A00=F3( N$ H" O/ ~* \5 S) h2 w) W
  846. LDA #$002 k4 g7 m! Z7 [' s& n7 u% a
  847. STA $7A03        ;$7A03=00- F5 M+ [9 V) x$ h# P$ `' c$ N1 M
  848. STA $7A04        ;$7A04=00
    6 n+ A) J1 ]& p6 X3 C
  849. STA $7A05        ;$7A05=00
    , c' q$ \: x# P# ~- Q
  850. LIFEL2:        ;copy data $7A00 to 6001" ?. s3 T  D* o# q9 t
  851. LDA $7A00, t( i: L0 a$ D" F0 ^  `( }
  852. STA $7A017 Q* _8 n! {  p2 @3 z+ L
  853. 6 g  i$ {8 z+ z( \6 |, o
  854. LIFEL3:         ;hundred
    0 P  p% S* }3 H% ~2 H) Z
  855. LDA $7A01
    3 j# d2 [4 g, k3 B, b) f
  856. CMP #$64
    . R' _4 T! R3 H* R$ D2 t$ P5 a) l5 C
  857. BCC LIFEL6                ;$7A01<100 goto L6! P1 j. N; O3 Y. q7 U
  858. LIFEL4:
    8 o, N' d9 d( V1 G5 y6 j
  859. LDA $7A01* Q+ Q% W- H. `7 b& X
  860. SEC7 s: |" U- A* L6 t2 ]4 D
  861. SBC #$64        ;$7A01=$7A01-100" k0 S* [3 }9 {& }; }7 v7 x
  862. STA $7A014 L& N4 u! b1 |# a; w
  863. INC $7A03        ;hundred++
    % n4 h$ |' F  ~. s
  864. LIFEL5:
      t7 `& A5 b) v( X, J6 M/ B
  865. LDA $7A01
    8 |' ?  Q8 ~7 g7 N' c2 V
  866. CMP #$64
    ) Z" T9 t, x! q# z* E( i+ T
  867. BCS LIFEL4                ;$7A01>100 goto L4
    # Z- m. j$ @7 u& ~

  868.   F( U2 w0 y& @! \
  869. LIFEL6:        ;decade  C, \5 [) p+ t
  870. LDA $7A01
    8 b" q! [. [2 {3 B* ?  I
  871. CMP #$0A% N# o; A! o- ]9 x  j
  872. BCC LIFEL9                ;$7A01<10 goto L9$ f( Q( c7 u# a& A; i
  873. LIFEL7:        2 d! f6 S7 X  f6 {
  874. LDA $7A01
    2 o4 y6 p* ^+ p9 P; o: B* d( ?8 {
  875. SEC
    9 H( M1 t7 [! a
  876. SBC #$0A3 @$ N( c& ^! x2 ^' }: C, n
  877. STA $7A01        ;$7A01=$7A01-10
      x1 c  A0 [7 ^+ J) ^5 e
  878. INC $7A04        ;decade++; {8 o  [3 O/ k1 c
  879. LIFEL8:3 q8 Z% @6 D$ p! k4 d; _
  880. LDA $7A01/ Q" m" S( z! h
  881. CMP #$0A
    % l' N; {( d' F) V% h
  882. BCS LIFEL7                ;$7A01>10 goto L7
    $ W- C3 s) V' R6 z* k" g6 Z
  883. ;unit
    & [4 T- `# U) z. G2 u  O
  884. LIFEL9:( X6 T% ^8 I9 b$ Y- t1 S0 I
  885. LDA $7A01        ;$7A05=$7A01, A# r1 K! M4 Z3 U- S
  886. STA $7A05        ;unit0 F0 ~& {' i  g; @7 P
  887. RTS        ;return* P1 ~& b" L! H( f8 h

  888. 5 k: `3 b; _3 ~' k6 o7 B" L6 b2 l  e

  889. ; I+ E! r* w& j
  890. 9 x; n. p$ `- [* }9 t1 v0 Z5 S
  891. PPU_PROCESS: ;PPU地址处理程序
    $ q. L2 \9 g2 J
  892. LDX #$00
    8 e( `5 {) G( w. m+ \5 r) K* y
  893. LDA $FF$ X2 J7 U; G$ c# i8 |
  894. AND #$01% |1 |9 V" D, S$ F$ D  [- m  w
  895. BNE PPU_2400_27C0
    ) e5 G( l7 m* e, T' A+ X; k, z  I
  896. PPU_2000_23C0: ;命名表1$ e: N( Q8 ^* A: D8 u
  897. LDA $0703
    ! L+ R* X0 A; }+ `- Y' e7 r$ i& q
  898. AND #$FB
    1 N5 b  Y: Y$ N: x7 q, i
  899. STA $0703
    ' l( \$ I' v% c+ G) f
  900. RTS
    1 p! I3 D4 j+ G4 b! v( N
  901. PPU_2400_27C0: ;命名表2
    ' T# S5 I1 X3 I4 V
  902. LDA $0703
    * I4 `1 {1 `, \* W% r! I
  903. ORA #$04* u) @+ P9 H+ u2 W  @& }- _7 ~6 D6 r. ^
  904. STA $07031 \1 K6 v. ^0 W
  905. RTS, t: {: A+ m( h# d( u# K

  906. , j# s/ n1 |1 |. A
  907. PPU_START:  ;PPU数据写入$ l- s+ J2 o3 X+ K$ f
  908. STA $21
    5 [; W" G3 f/ T9 ]3 B6 D- n
  909. STX $0701
    & n3 i  S. u5 D% |# ?
  910. LDA #$00
    . T9 x) A3 J" Q. c& S5 K9 [7 ]( a
  911. STA $0705,X
    0 h) |& j5 T' S) ]5 B) Y" }
  912. LDA #$01
    ; s& @: B2 Z0 [
  913. STA $0700
    7 ]4 R2 E& ]7 i; L  q3 X# N
  914. STA $0702
    & h, \/ H! i' ~3 [% ~  S& V; W  M
  915. RTS
    * X- h5 {7 {0 Q6 O; i
  916. 9 J, F7 y, R9 t& E% C

  917. # @) Q) k6 T6 B

  918. ' m6 R, o3 P8 a# j5 Q- q, }+ ?/ u
  919. 6 n& _: |' J- A, ~- x" z
  920. 3 b$ M% e: x. {5 E  v/ ?3 r5 h
  921. 7 ^, Y" `$ c1 s: i/ z1 k
复制代码

( d- |, `6 A- p: {. j; x  w

本帖子中包含更多资源

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

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

签到天数: 2257 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!8 z3 U2 n: g& x5 ^

签到天数: 2566 天

[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-8-4 10:39 , Processed in 1.097657 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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