设为首页收藏本站

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序1 Q2 |  H$ t2 u( U; R
  2. 作者:FlameCyclone
    % X& o( o1 M/ g7 e1 M" e% R- B
  3. 时间:2017.2.12
    % m: |2 K& {% d) ~# @! y" q9 _5 c

  4. $ e! h# ]2 H1 c( X3 f! N2 q8 c
  5. 按键跳转:
      n9 x  l, D( \3 @1 o1 K  Y  o
  6.         C1EF:95 F5 94 F1+ S8 E- b. ?: I" R
  7.         C1EF:20 70 FB EA
    - H1 E2 K: A" V/ ]; L

  8. / Z! U8 v; p% q  n3 N* i0 s
  9. 滚动偏移:
    " b, j8 ^' S% v/ ]% n
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20/ [( v# y; e) ~9 O3 t
  11.         F936:20 C0 FB EA EA EA EA EA EA EA" b4 \0 y* q% L0 a( V
  12. ' `  [/ U4 N5 G8 O9 C. C) v- `
  13. 背景调色板:
    3 [( y4 O& {; `! C1 H
  14.         CF20:9D C0 075 g9 c, ]  Q+ o. l7 x$ g
  15.         CF20:20 A0 FB: A) i" R8 a& p& s% v" `
  16. - o  H8 m' M2 k/ \9 _% _$ R1 d
  17. PPU BANK号:% S- I6 i2 i1 f
  18.         C8C9:9D F4 07/ [5 N$ i0 `- b; ]5 F$ e  I7 e
  19.         C8C9:20 B0 FB9 X1 U$ X3 w1 ?! {9 u0 ]- @
  20. 7 v+ s$ b/ s9 [" |6 x. K/ u9 V
  21. 按键跳转:
    . C" a$ Y+ {8 z! q8 K* w- F
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    2 T: W1 P5 C* Q
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    - ]4 ~3 x$ X! w0 u" V3 C2 l+ k; G
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF
    8 @# T( I+ A$ l
  25. - z7 l) y1 c" j
  26. 背景调色板:
    9 R3 c& ~" K- |: ^; g0 \9 C+ L
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF6 w. s0 Z# J8 M" q* [2 b3 A* _

  28. : ?/ Q$ T& M  s0 g
  29. PPU BANK号:
    & z0 e+ o# e; w
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF1 P6 `/ N+ U. Q

  31.   B' M4 }# j8 ^; u
  32. 滚动偏移:- N" v$ @( \) J9 ~- \
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60
    7 ~7 V  z$ g, Z0 {0 N
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF5 j8 P  U8 M7 d0 `3 X7 S

  35. " g% E& o7 e3 N2 o: Z% {

  36. % d3 L6 h5 o+ o- L5 Z# P
  37. 切BANK后A000:
    ( r+ D0 k  ~! Z; K7 f1 q
  38. A5 FF 29 7F 8D 00 20 AD 02 20 A5 25 C9 01 D0 0A B5 F5 29 CF F0 04 20 8C A2 60 48 8A 48 98 48 A5 25 C9 01 D0 07 AD 0A 01 C9 00 F0 03 4C AC A1 AD FF 7F C9 FF D0 19 AD A0 7F C9 00 D0 0B A9 FF 8D A0 7F 20 3A A1 4C AC A1 AD FF 7F C9 00 D0 DD AD 02 20 A9 00 8D 01 20 A2 00 A9 FF 8D FF 7F 8D A0 7F 20 6A A0 20 3A A1 4C AC A1 A5 FE 8D 50 7F A9 08 85 FE A2 00 BD C0 07 9D 00 7F E8 E0 40 90 F5 A2 00 A9 00 9D F4 07 E8 E0 04 90 F6 A2 00 BD 2A A1 9D C0 07 E8 E0 10 90 F5 A9 3F 8D 06 20 A9 00 8D 06 20 A2 00 BD 2A A1 8D 07 20 E8 E0 10 90 F5 A2 00 A0 00 A5 BD 48 A5 BC 48 A5 BB 48 A5 BA 48 A5 B9 48 A5 B8 48 A9 00 85 B8 85 B9 85 BA 85 BB 85 BC 85 BD A9 00 85 BA A9 20 85 BB A9 00 85 BC A9 60 85 BD A5 BB C9 28 D0 06 A5 BA C9 00 F0 27 A5 BB 8D 06 20 A5 BA 8D 06 20 AD 07 20 AD 07 20 91 BC A9 00 8D 00 20 E8 E6 BA E6 BC E0 00 D0 D4 E6 BB E6 BD 4C E4 A0 68 85 B8 68 85 B9 68 85 BA 68 85 BB 68 85 BC 68 85 BD 60 0F 28 28 28 0F 28 28 28 0F 28 28 28 0F 28 28 28 A5 BD 48 A5 BC 48 A5 BB 48 A5 BA 48 A5 B9 48 A5 B8 48 A9 00 85 B8 85 B9 85 BA 85 BB 85 BC 85 BD 8D 01 20 A2 00 A0 00 A9 00 85 BA A9 20 85 BB A5 BB C9 28 D0 06 A5 BA C9 00 F0 20 A5 BB 8D 06 20 A5 BA 8D 06 20 A9 00 8D 07 20 A9 00 8D 00 20 E8 E6 BA E0 00 D0 D9 E6 BB 4C 69 A1 EA 68 85 B8 68 85 B9 68 85 BA 68 85 BB 68 85 BC 68 85 BD 20 8D A2 60 68 A8 68 AA 68 A5 25 C9 00 F0 12 A5 25 C9 01 D0 0B B5 F5 29 EF F0 05 A9 00 8D A0 7F 60 AD FF 7F C9 FF D0 F8 A9 00 8D 01 20 A5 BD 48 A5 BC 48 A5 BB 48 A5 BA 48 A5 B9 48 A5 B8 48 A9 00 85 B8 85 B9 85 BA 85 BB 85 BC 85 BD A9 00 8D FF 7F A2 00 A0 00 A9 00 85 BA A9 20 85 BB A9 00 85 BC A9 60 85 BD A5 BD C9 68 D0 06 A5 BC C9 00 F0 24 A5 BD 8D 06 20 A5 BC 8D 06 20 B1 BC 8D 07 20 A9 00 8D 00 20 E8 E6 BA E6 BC E0 00 D0 D7 E6 BB E6 BD 4C 0E A2 A2 00 BD 00 7F 9D C0 07 E8 E0 40 90 F5 A2 00 A9 3F 8D 06 20 A9 00 8D 06 20 BD C0 07 8D 07 20 E8 E0 10 90 F5 AD 02 20 A5 FD 8D 05 20 A5 FC 8D 05 20 AD 50 7F 85 FE A9 00 8D 00 20 68 85 B8 68 85 B9 68 85 BA 68 85 BB 68 85 BC 68 85 BD 60 60 20 B9 A2 20 C0 CB 20 DE A2 20 FD A2 60 20 42 92 8B 8D 95 80 8C A3 80 90 96 8B 97 8F 8D A3 8D 96 99 98 8F 80 93 98 80 83 81 82 88 FF A2 00 AD 9A A2 8D 03 07 E8 BD 9A A2 8D 04 07 20 91 A5 BD 9C A2 C9 FF F0 08 9D 05 07 E8 A9 00 F0 F1 20 AB A5 60 20 28 A3 20 C0 CB 20 56 A3 20 C0 CB 20 7D A3 20 C0 CB 20 BE A3 20 C0 CB 20 EF A3 20 C0 CB 60 20 3B A4 20 C0 CB 20 69 A4 20 C0 CB 20 90 A4 20 C0 CB 20 D1 A4 20 C0 CB 20 02 A5 20 C0 CB 60 20 A3 9A 96 8B A3 8F 9C 80 81 82 FF A2 00 AD 1C A3 8D 03 07 E8 BD 1C A3 8D 04 07 20 91 A5 BD 1E A3 C9 FF F0 08 9D 05 07 E8 A9 00 F0 F1 20 AB A5 60 20 E3 9C 8F 96 93 90 8F FF A2 00 AD 4D A3 8D 03 07 E8 BD 4D A3 8D 04 07 20 91 A5 BD 4F A3 C9 FF F0 08 9D 05 07 E8 A9 00 F0 F1 20 AB A5 60 20 EA A2 00 AD 7B A3 8D 03 07 E8 BD 7B A3 8D 04 07 20 91 A5 A5 32 20 42 A5 AD 03 7A 8D 05 07 EE 05 07 AD 04 7A 8D 06 07 EE 06 07 AD 05 7A 8D 07 07 EE 07 07 A2 03 20 AB A5 60 21 23 A1 8F 8B 9A 99 98 FF A2 00 AD B5 A3 8D 03 07 E8 BD B5 A3 8D 04 07 20 91 A5 BD B7 A3 C9 FF F0 08 9D 05 07 E8 A9 00 F0 F1 20 AB A5 60 21 2A 00 01 02 03 04 98 97 90 9D 96 A2 00 AD E3 A3 8D 03 07 E8 BD E3 A3 8D 04 07 20 91 A5 A2 00 A5 AA 29 10 F0 07 A9 9D 8D 05 07 D0 05 A9 8D 8D 05 07 A5 AA 29 0F DD E5 A3 D0 06 BD EA A3 8D 06 07 E8 E0 05 90 EC A2 02 20 AB A5 60 20 B3 9A 96 8B A3 8F 9C 80 81 83 FF A2 00 AD 2F A4 8D 03 07 E8 BD 2F A4 8D 04 07 20 91 A5 BD 31 A4 C9 FF F0 08 9D 05 07 E8 A9 00 F0 F1 20 AB A5 60 20 F3 9C 8F 96 93 90 8F FF A2 00 AD 60 A4 8D 03 07 E8 BD 60 A4 8D 04 07 20 91 A5 BD 62 A4 C9 FF F0 08 9D 05 07 E8 A9 00 F0 F1 20 AB A5 60 20 FA A2 00 AD 8E A4 8D 03 07 E8 BD 8E A4 8D 04 07 20 91 A5 A5 33 20 42 A5 AD 03 7A 8D 05 07 EE 05 07 AD 04 7A 8D 06 07 EE 06 07 AD 05 7A 8D 07 07 EE 07 07 A2 03 20 AB A5 60 21 33 A1 8F 8B 9A 99 98 FF A2 00 AD C8 A4 8D 03 07 E8 BD C8 A4 8D 04 07 20 91 A5 BD CA A4 C9 FF F0 08 9D 05 07 E8 A9 00 F0 F1 20 AB A5 60 21 3A 00 01 02 03 04 98 97 90 9D 96 A2 00 AD F6 A4 8D 03 07 E8 BD F6 A4 8D 04 07 20 91 A5 A2 00 A5 AA 29 10 F0 07 A9 9D 8D 05 07 D0 05 A9 8D 8D 05 07 A5 AB 29 0F DD F8 A4 D0 06 BD FD A4 8D 06 07 E8 E0 05 90 EC A2 02 20 AB A5 60 8D 00 7A A9 00 8D 03 7A 8D 04 7A 8D 05 7A AD 00 7A 8D 01 7A AD 01 7A C9 64 90 13 AD 01 7A 38 E9 64 8D 01 7A EE 03 7A AD 01 7A C9 64 B0 ED AD 01 7A C9 0A 90 13 AD 01 7A 38 E9 0A 8D 01 7A EE 04 7A AD 01 7A C9 0A B0 ED AD 01 7A 8D 05 7A 60 A2 00 A5 FF 29 01 D0 09 AD 03 07 29 FB 8D 03 07 60 AD 03 07 09 04 8D 03 07 60 85 21 8E 01 07 A9 00 9D 05 07 A9 01 8D 00 07 8D 02 07 60 FF FF3 q0 p+ x, q- d; i
  39. - h1 ]6 k! \' j, o
  40. ! B6 ~) y  X. L7 A
  41. 6502 simulator:
    $ e( n& v2 p: P& T) f
  42. PPU写入程序:
    . _3 H% Y4 s% T/ j. e) [) J5 B
  43. .ORG $A000
    ; p  \2 J5 x1 d1 U3 N* k
  44. CSP = $80- T8 k4 A+ Z2 k3 |+ E
  45. C0 = $81
    ) ?; c  E5 D& t6 {. i# C/ B0 @4 p
  46. C1 = $82
    : v8 U! p# Q# W1 D' Q/ e
  47. C2 = $83
    ( B1 Z1 U2 `& n: {, T
  48. C3 = $84, |6 M/ f, A  |8 @- O2 H) f
  49. C4 = $85
    & W. C. S# q' w
  50. C5 = $86+ B& w' S3 _; v, g! a  K( {! q
  51. C6 = $87
    % Z1 W. b% n: ~( K# K% h/ d
  52. C7 = $88! B, t' d0 x8 `/ S! R5 T
  53. C8 = $89
    9 q; k& J; n: L! _4 p" _1 }
  54. C9 = $8A
    6 t! n; q  f- {
  55. CA = $8B% d) l( C- S- U# i
  56. CB = $8C
    ' W6 ^# C; D. h! X1 c7 z$ [
  57. CC = $8D( x7 L7 e: Y; v4 {  m4 ]. u
  58. CD = $8E* B5 k- I- G% ~7 _, v, a
  59. CE = $8F: g8 `2 b3 a3 o
  60. CF = $90
    " u/ W; J* |0 q( h6 }6 L( L9 \
  61. CG = $916 o( b- k/ F) Z; ?* o- Y6 J
  62. CH = $92, q% |% ~+ S' ]
  63. CI = $93# S: t$ @0 e; e# A9 p
  64. CJ = $94
    / {8 n" {5 P/ l- t$ N( T
  65. CK = $95
    $ Q9 |0 N  y# l+ w% m. E# q
  66. CL = $96
      \6 d+ C, o9 B' n3 j. C$ e- [- _7 s- U
  67. CM = $97
    9 a0 F+ c9 b  H( a4 q8 ~7 Z
  68. CN = $98; t) s* Z3 q2 e7 S
  69. CO = $99! [1 i  O- X# Q& m( S' [( a
  70. CP = $9A
    7 K+ f- B) |6 y0 p8 M
  71. CQ = $9B
    9 m* y1 ^& A" U
  72. CR = $9C
    9 I# _+ z' X$ |% S2 Y
  73. CS = $9D
    4 G! s0 C  d5 k  I' d# v
  74. CT = $9E. |, p, ~. U* A8 V) u: `
  75. CU = $9F
    0 ~* n! k' J4 X
  76. CV = $A0
    1 E8 a8 H* j1 X- l+ w. ^
  77. CW = $A1" y* b5 ?, n5 \3 r( d
  78. CX = $A28 F7 k; O) c0 \8 z
  79. CY = $A3
    ! ]% [$ G; ]. i" v9 k
  80. CZ = $A4
    ( _; n# s/ g$ X5 D* ^( n' u0 W
  81. CEND = $FF+ Y+ |% m4 S/ B0 M1 W2 w3 X) o

  82. 9 k0 f, {! F; M; E0 @
  83. * E8 p# x# b. }& M) z  U, @; |
  84. CMP_RE:* J- e/ b* J. [! u& s" ^4 Q( ~
  85. LDA $FF, z2 Q1 l1 ^3 o0 L5 z
  86. AND #$7F' B) I7 K( O2 O# k! l) z% e
  87. STA $2000
    9 a  M# ?- d& _4 U3 q5 p$ h
  88. LDA $20027 h1 l# e6 T  x2 Z
  89. LDA $25
    * f9 q' _: \0 }, A
  90. CMP #$01
    6 d* `- R/ ~0 C: A( v0 l4 X
  91. BNE PROREG
    8 N" f/ W0 G6 \5 h6 B' B& M5 ?, V
  92. LDA $F5,X8 J5 [& ?1 Y! w, |) z# [- i5 [
  93. AND #$CF+ Z  a6 b/ k- h& u4 }
  94. BEQ PROREG( u7 u. K1 m& q  c
  95. JSR PPU_CMP* ]% \; x% e4 w' e' J
  96. C_RE:
    . m( ~( a1 j1 f
  97. RTS
    # h* j) _$ i, r8 C  X/ }& l; h' S7 |- r
  98. PROREG:5 _1 j1 @; G9 H  |
  99. PHA
    ; q6 p) e$ }3 l& p6 J. i- ^
  100. TXA( r. T1 w1 x0 e- y! s
  101. PHA
    9 l; M* H& }* c5 O4 c7 l' J+ x6 C
  102. TYA
    * l# k9 }& A& s* P. l8 q& W
  103. PHA
    ! ?' v1 ?4 W7 W8 z6 r# @
  104. LDA $25
    # E( ^; b8 x% t% z2 z" J2 T( V8 n
  105. CMP #$01& G! Y# T; S3 p& U
  106. BNE RE; D1 n# S+ L3 X1 O: U2 s+ K$ d/ i; q
  107. LDA $010A
    + {7 F$ w  E6 e( f4 ^4 Z: Q  @
  108. CMP #$00% ^6 F3 A. U. U/ H& D' F
  109. BEQ P1  o7 `, L$ N* j( V. d
  110. / K  Y3 [; f; n
  111. RE:
    ) F  j* d( Y  a+ B7 @- p
  112. JMP PPUWRITE
    4 Z- d( n/ e+ t6 y+ r

  113. / V! A; H+ K; Z, H9 J8 T
  114. P1:                ; 条件判断
    ! k" v/ _2 a1 B# R. ]
  115. LDA $7FFF
    4 T9 R& e3 }( x, E  G) t0 z# z
  116. CMP #$FF
    * D& I) h8 Q5 R* k2 h% a
  117. BNE P1RP
    $ z  E7 g* U9 `2 M/ D
  118. LDA $7FA0
    0 O( O' R% V% d
  119. CMP #$00
    " s5 c% i: K8 t+ J+ r( M
  120. BNE P1CMP
    - W  q$ v8 W3 |
  121. LDA #$FF3 g0 I  z) j. o8 c
  122. STA $7FA0
    ) v% O  s0 q4 R7 i6 c( e
  123. JSR CLEANA' R/ t# ]6 E0 i, r' m. C! H; E3 M, T3 K
  124. JMP PPUWRITE- d9 m! K4 ?/ i* _+ t
  125. P1CMP:& F1 d1 Y7 Y* b/ N& S
  126. LDA $7FFF$ m! [9 g1 v5 _8 w; h
  127. CMP #$00
    + p% \$ @' y1 U$ E) u
  128. BNE RE
    - |' k* M' ^; _: C6 ]
  129. P1RP:' H% m4 E, ~- q  y1 s
  130. LDA $20027 e: e, w9 b$ d8 D  S- Y: \
  131. LDA #$00! V/ ^$ _, G% o, e
  132. STA $2001
    5 e: C6 @; I. g6 p1 q& Z
  133. LDX #$00, Q8 l' {0 i$ r( l7 o
  134. LDA #$FF
    + E- |, S  ^" ^# d* n. o; r
  135. STA $7FFF
    5 c5 W6 y; K' v/ O6 s; N, {
  136. STA $7FA0
    - u% H6 |) O" {/ ~1 R' Z8 [
  137. JSR COPYPPU
    * g% }1 w+ A% C( S% t4 W( r% z
  138. PIRP2:
    9 l. o. S! p5 H: E' F" _) Z
  139. JSR CLEANA
    4 p# t( i' |/ w/ _4 z1 e
  140. JMP PPUWRITE
    $ }- Z+ ?/ S) C1 ~

  141. 4 U! ~( O, B) D( W  a' q! r
  142. COPYPPU:
    ' M2 k3 G. Z; A; t6 G3 ^- `
  143. LDA $FE, o# v) }) P' ?- c/ T! R
  144. STA $7F50! d- X6 @7 y6 {" ^2 k
  145. LDA #$08
    + E2 N- b0 w6 W; ?
  146. STA $FE
    * }: r0 K0 m. b) @' ^
  147. L0:  {, @' f9 O( X- d: K0 X
  148. LDX #$00: d6 b4 B: v* E) ~
  149. COPY_07C0_07DF:; [- x' R: X# Y- I, r8 b# W
  150. LDA $07C0,X
    ) G0 b# v- W' O2 Q
  151. STA $7F00,X
    ) q6 G1 g8 s% d7 |1 N6 |8 @) D
  152. INX. L3 \/ y3 `8 q+ T
  153. CPX #$40. I4 L( \  C/ A  Z* _+ ]2 @6 p
  154. BCC COPY_07C0_07DF0 a/ U+ X3 Y, h3 v8 k
  155. LDX #$00
    6 R: n2 `; ?0 c- K9 g5 c
  156. PPU_07F4_07F7:
    " Z0 h4 Z- V2 x2 N- t8 f9 U' W
  157. LDA #$00( B" t1 A7 R$ _
  158. STA $07F4,X
    : D( a. ]' G5 o; s
  159. INX% q+ M* q! U% J& ]" O% |
  160. CPX #$04
    2 F4 O% x# D7 S/ G; h: T  F. G
  161. BCC PPU_07F4_07F7" [6 g4 Z: x: _
  162. LDX #$00
    " `* y" |# P7 z
  163. COLOR:4 e$ P1 T2 Y9 j' K
  164. LDA COLOR_DATA,X
    % p( n+ j) C  {1 j% _9 E6 k- k: s' `
  165. STA $07C0,X
    6 A6 |3 E" j, g( L
  166. INX$ T, m) g5 `7 o- _. S3 [7 k9 i
  167. CPX #$10, ^/ }: ~5 b$ X! n. x
  168. BCC COLOR( ]+ r- t* g5 I( O) k1 u
  169. 6 ]/ C+ R, W2 @
  170. PPU_COLOR:
    ( X, {3 ]: v5 G1 p& i: z
  171. LDA #$3F0 q9 w: Q! E7 S, c
  172. STA $2006( O: T# _, T* }4 L( d: ]6 T
  173. LDA #$00
    8 p# U' Q- a% ^4 C1 k
  174. STA $2006
    : t# Q2 r* e: y( G7 ?
  175. LDX #$00- m; z4 Q/ |- L5 s; R
  176. PPU_COLOR_W:# D7 I% K& Y% J  u& s6 ^$ k3 D
  177. LDA COLOR_DATA,X
    3 J- p2 f# H9 L- g& b4 C% Y
  178. STA $2007
    1 E; i, s( q. J7 D
  179. INX
    " s9 c* c; C$ A3 i9 U
  180. CPX #$10: B3 S# ^& K/ `1 v) [
  181. BCC PPU_COLOR_W
    , [. L  f; Z7 f+ Y+ R$ U( G

  182. $ `$ e( ]4 ^  H: b8 |' N9 L' }
  183. 8 g' l/ ^& T' c- O+ D+ o# F- Y0 u! ]0 @
  184. LDX #$00
    ' W3 F: }' B; f- q$ U- p# m
  185. LDY #$005 q2 F  H7 l. Y# h, ?
  186. LDA $BD, B0 W. q# C" O) r7 X
  187. PHA
    & n2 m2 C+ n$ p+ L
  188. LDA $BC
    7 T# p8 g. |& @
  189. PHA
    & G3 S* U' ^& l/ }
  190. LDA $BB
    6 ^3 L; q7 ~3 C
  191. PHA
    ( q, @: O) B4 r$ N( N
  192. LDA $BA
    8 R" U0 ^7 g8 F) E( Y7 ~
  193. PHA
    0 K0 b' g: p/ ^( c/ G
  194. LDA $B9
    % S5 n) G2 W  j: O) K1 h. W; s
  195. PHA
    5 ^% p- X" \8 c# Z' H8 f
  196. LDA $B8: {- W6 \: g* _. V3 C8 n  b0 F$ Z
  197. PHA
    4 z5 w% K8 I* p# n
  198. LDA #$00( ^0 O1 E' Y/ A' e- `
  199. STA $B8: f% Z. W0 y) y' d) ?
  200. STA $B9$ n; w6 [$ O( T) G+ [9 G
  201. STA $BA! y) y  D# W& c
  202. STA $BB
      A% {% [, b- `
  203. STA $BC' l" j9 B) |) V! i: C2 E/ q
  204. STA $BD! G$ o: K# s! X5 l
  205. LDA #$009 j( K3 c4 g* t- e* ~4 v
  206. STA $BA
    : s$ N; k/ n4 l4 P
  207. LDA #$20
    , t5 K# ]: j4 h! B* e0 e: g6 J
  208. STA $BB
    # a' s8 e4 J, }1 l
  209. LDA #$00" I7 r" i) c# I3 N0 M, S! t9 p% q+ h
  210. STA $BC
    3 u; E: j- r8 u3 z, O* S
  211. LDA #$60" c+ y* e) F3 z$ e! r6 h! _% }
  212. STA $BD
    ; q/ d* w" C8 W

  213. % Q  o* j* `" i6 M* @8 f6 ~
  214. L1:                ; PPU复制
    % U, P! [" w% e, f0 X5 p5 a+ V
  215. LDA $BB! T1 N. t9 I) |
  216. CMP #$28& A* F7 z; O0 \% D
  217. BNE L2' S& F8 H" x) P& }
  218. LDA $BA
    % o5 Y# m4 F: v" O
  219. CMP #$00
    1 Q. M+ P( L$ Y4 R5 K, _
  220. BEQ PROADPLA
    & g7 U* u3 G- l$ W( |) M/ O* Q
  221. 2 ]' g, M9 w9 H/ A) Q$ s2 a. H
  222. L2:
    8 `! L; \4 F7 K3 d
  223. LDA $BB
    : }3 w! x, L" @3 i; O" I" J
  224. STA $20064 Q: \. m0 W8 A! `, B
  225. LDA $BA
    % ]+ u) g) T6 K7 i3 l- x, q7 J$ c
  226. STA $2006
    ; w8 O# W9 l2 _- D1 ~
  227. 8 Y+ }6 t& |! z3 y: `! ~
  228. L3:
    1 ]. |$ c2 ^. R- |; t* \" u
  229. LDA $2007- r8 x% t% D- z0 f% X( Q
  230. LDA $2007
    + M5 h) M) ^9 u. ^+ S5 f, x
  231. STA ($BC),Y
    2 n$ K: k% M; y" _( W: V' e9 Y
  232. % P. ^1 h% }* W8 [
  233. L4:
    6 W0 L+ c6 p8 R& d3 V, |1 y
  234. LDA #$00
      _: J$ ?3 t& h" x
  235. STA $20006 |6 f3 A  c5 S, N/ T$ A; p
  236. INX
    ' W" k6 s* y0 S( t5 m$ a' t& T
  237. INC $BA
    7 Q3 Z9 W0 a. j3 G; N) |6 ?( {# U0 y
  238. INC $BC( |7 ]7 w, \$ Q+ u( L( h1 y; \* S0 w) m) R
  239. CPX #$006 B8 H' O" s5 H# f) U* O$ e; ~
  240. BNE L1
    & P+ ^( v5 e. K- K. J& v2 y% {
  241. INC $BB( D: e2 I: t# q, w
  242. INC $BD1 B# ?: P6 G3 w3 X" E$ }5 _* L
  243. JMP L1
    9 a8 o2 Z3 j* d8 l3 ?* T$ ^3 D, F, R
  244. ' {1 q6 h- r2 @6 C  E
  245. PROADPLA:                ;出栈
    : [% x1 T' B% l1 Y5 V# c
  246. PLA
    ) e6 C" I' W+ ?- J- g
  247. STA $B8, U# \8 ]0 T& |2 I- G- c+ [
  248. PLA8 n# A8 A; }2 W- R
  249. STA $B9
    7 H- n& B# I& b8 V! k4 W
  250. PLA3 W' }1 {) p3 Q7 N: ?
  251. STA $BA
    ! a# Y% g9 s+ ?* F/ |  S) R
  252. PLA4 z; P) V0 u( ?- E" {% w& u
  253. STA $BB- A) J& O  T+ I5 l* q" K, N7 z% |
  254. PLA& ~$ j, [! k$ C+ x8 B% B& |0 u& c
  255. STA $BC
    " V: _' J4 u7 t0 D1 |, U$ v5 n$ `
  256. PLA
    ' ]; h( d9 R7 C: H: s) ~7 r) g
  257. STA $BD
    ) x# J4 N# a6 i4 N
  258. CPRE:) F0 \# R! r/ [5 ?, x: I+ r
  259. RTS" c5 l9 Y. B- Z# r8 g, ?( @
  260. : h" I; U3 K/ p9 b( X
  261. CLEANA:                ; PPU清空
    0 d) @6 t9 r6 ^. P- R6 B
  262. LDA $BD
    9 X  h- [) Q$ O% p
  263. PHA
    1 T7 p& c0 |3 M+ Q  e
  264. LDA $BC
    $ ~! ]/ L' S% _$ U7 X: X' R, T
  265. PHA2 Q7 d3 x! ^  k8 E
  266. LDA $BB
    7 p4 F3 P: u) h
  267. PHA
    $ [, M  w0 L8 f! L  B
  268. LDA $BA! ^( N. ^) R$ x: l
  269. PHA: J" D3 K& o+ j+ t
  270. LDA $B9
    ; E" M8 N6 Z- K! H) x, p
  271. PHA
    ; a' I( h$ F8 }: A+ V4 c
  272. LDA $B8
    * \7 M: C+ q! |/ I. o6 O) O
  273. PHA
    5 n3 Z3 d3 @+ G! C. O2 W
  274. LDA #$003 e) @, y4 k3 Q3 C
  275. STA $B8( w+ ?& C8 R1 {8 M
  276. STA $B9
    " G! C7 n$ ^" {& \' [% p
  277. STA $BA
    2 V% ?4 _/ n0 x2 U* q- G
  278. STA $BB! L1 g9 P0 e- N2 A
  279. STA $BC
    , r, O8 n- Y! o4 z' ?% ~( i6 P( K
  280. STA $BD7 q$ W) @- B0 }* k
  281. STA $2001  A- G# C+ u8 Q+ N0 P6 \5 {" x: h
  282. LDX #$00; a. m$ Z# W7 O0 S8 T
  283. LDY #$00& O: s( E  {, _" F; V! F8 W
  284. LDA #$00, C- `% H( P* ?$ r; d
  285. STA $BA! q$ ]/ l, t& o- P+ G" D4 p1 x
  286. LDA #$20! [( E0 F1 Y( i
  287. STA $BB+ L* D. Y7 c5 {& N- ^1 [

  288. 0 F' A/ C/ ^% V% o4 [$ I. [: ^
  289. CL1:6 x! h- c% H4 m4 c6 m& l+ A
  290. LDA $BB2 d: t7 K& `8 E
  291. CMP #$28. k" A8 l; M3 S$ `! r, t
  292. BNE CL2* ^& l2 Q+ O+ N4 q
  293. LDA $BA
    # M, w& g4 M8 M# ]( |
  294. CMP #$00
    2 W- R; H+ Z  U9 e
  295. BEQ FREEWRIYE
    " p3 a/ |: u4 Y5 N6 `* Z

  296. 9 y. n, w+ d/ q& n8 @  d& D& V
  297. CL2:
    1 Q6 w' ^  _  J
  298. LDA $BB; D  h% s8 N- ~4 t. Z
  299. STA $2006* P- v- P. w3 ?+ t, {, ~- _
  300. LDA $BA, n; ]' J, B# I0 R
  301. STA $2006
    # ~7 g+ j# u8 q: C8 N/ D
  302. / ?7 x- \. w* K# }! z
  303. CL3:; j" C' J# C& z; O; _$ g) `
  304. LDA #$00
    6 u; d2 K& f' c6 a! J/ `
  305. STA $2007
    $ k1 Y. Y7 k$ t/ F+ Y! }7 W( b

  306. / M7 a# F% L; q0 R% p# `
  307. CL4:5 P4 g; a2 F4 V: P! T. N
  308. LDA #$00; \% |! ~' I3 S0 \  p6 I
  309. STA $2000
    1 g9 D( C: u+ m, u1 K2 Q
  310. INX  `0 W4 {3 B6 N2 k" [
  311. INC $BA$ i0 `  W8 ?$ s2 ^7 b( ?
  312. CPX #$00( s) N7 U! A- B( x: P9 Y# A" b
  313. BNE CL1( D0 i) Z2 N6 j* D" Q
  314. INC $BB
    # b$ m9 @, G: }$ \9 @5 R
  315. JMP CL1 $ c- \% r4 H- N: P! l
  316. * k% I7 t& w! Y) Z
  317. 6 h9 z+ G. H* E7 {, Y( t1 k
  318. FREEWRIYE:/ Y/ W: T' R9 A- i2 C

  319. 5 t+ p2 S2 r# x. H( l% Q& S
  320. NOP
    ) j0 a: f: A. Y3 v$ A

  321. ) ]" W% p* h) k# ?7 J

  322. . Q( Z. P  [6 [( J% b5 [' q
  323. & m/ t3 G/ d' O6 ^) p. y

  324. % K0 d' j9 q5 `% X8 e. L0 @8 [
  325. * m- m& D- G! C0 \6 C
  326. CLEANF:                ; 恢复现场
    + T; s5 K0 h2 @
  327. ' \8 C, W+ j6 o& O7 w5 l
  328. PLA
    " M1 |/ G- E. L) \
  329. STA $B8, [- @, t' t+ E% m, z
  330. PLA
    " C6 A* h# a/ c$ J4 v, j
  331. STA $B96 {8 }, e: P. D9 }0 ~; |* c" J
  332. PLA) i  ~. |4 V% q& G  v: I2 g/ \; n
  333. STA $BA* f# N5 A2 M; ]4 ^/ q8 H: y
  334. PLA8 I, e& S, f% I. [
  335. STA $BB) ]& S: g3 `" r" C0 N# o
  336. PLA# w! x+ N' n  N/ U& v# J: B
  337. STA $BC: |( d- r; A! o9 s
  338. PLA8 E5 F3 p- n  E0 u/ i
  339. STA $BD4 k: v/ R; F2 r$ y# K1 N# ?
  340. CLRF:4 L( [$ j. W) k" D8 A# U9 E
  341. JSR FREE_PPU" ?6 a" |0 ^1 t2 |, p5 a+ U
  342. RTS/ X4 E. N6 O/ D5 [

  343. $ `, |* I$ _# }

  344. . S/ ?. c' V) ^5 P
  345. PPUWRITE:    ;PPU写回
    4 P7 y3 L# e9 C+ r
  346. PLA
    / z& s* V8 O% [' u. X7 y
  347. TAY
    / m- R" P2 N' g6 w0 ~
  348. PLA0 n$ b' a$ h- M/ K5 K
  349. TAX4 |8 X# Y6 p6 Y5 a8 g4 f
  350. PLA3 |8 t+ R( L4 ^
  351. LDA $25
    0 X5 f" h5 v2 U+ X) f( T
  352. CMP #$00' J8 w3 w3 {4 I- k( O
  353. BEQ WP1
    7 D3 K& a0 N2 L, ?) Y  v/ A
  354. LDA $25
    * m3 k. o4 H& L- Q$ l! S
  355. CMP #$01# g6 l  h6 K. ^4 h. e2 i5 J
  356. BNE WRE
    # }$ D$ U, n2 ^2 E$ P8 m
  357. LDA $F5,X" \. O( g, x2 X6 _, ]% A
  358. AND #$EF* I" o+ w$ L5 |
  359. BEQ WRE  r# V) D8 m, a: C9 W/ \
  360. LDA #$00
    , {  |! ~' _8 z4 I  {3 @( i
  361. STA $7FA0
    ' y4 x# t2 V. r$ {+ A9 g) _, `, m
  362. / [# u/ I$ P9 O/ R# w
  363. WRE:
    & c, i6 j/ U) `& u
  364. RTS9 r3 T4 C% \) {$ C2 \% i" q2 e1 f' B
  365. . G/ I9 s8 r5 X2 _. D6 p
  366. WP1:" X9 m- @4 }, ~* ^
  367. LDA $7FFF  H3 t( C/ x5 B9 \
  368. CMP #$FF  N- f- J3 O; m% C, G6 p
  369. BNE WRE
    ' X/ w3 r2 a: S# j. C
  370. LDA #$006 z% ^5 j8 k/ U. G5 D; s8 o+ ]
  371. STA $2001
    ; c+ x3 }" G# K
  372. LDA $BD
    . o$ K" M. |; b0 F6 N
  373. PHA
    9 R: Y- z; F8 _$ h4 Z8 |; n+ [7 m
  374. LDA $BC
    , x6 N# ]  Y8 L, c5 T1 J( _0 S8 K
  375. PHA
    0 c- e# O$ E7 x/ U  v
  376. LDA $BB4 K' J% c! t- d
  377. PHA/ F% @- O: k7 p, p5 M7 o
  378. LDA $BA
    " O- j' P4 ~- U' h9 A
  379. PHA
    8 R9 p, @5 z5 v" T' N! x
  380. LDA $B98 {7 k+ ^' a4 F
  381. PHA/ n- o' x* A/ T+ Q& {3 i
  382. LDA $B8( h* Y0 v9 C" P6 i+ Z  R
  383. PHA9 ~3 l1 P9 n7 h; m9 ~0 s4 F8 w
  384. LDA #$00
    7 K# h8 j8 D7 f% }
  385. STA $B8
    ! G$ @1 ]. O0 r6 T
  386. STA $B9& Y, P+ l# C# j: ]" e8 f4 L( Z1 c- c
  387. STA $BA
    2 Y. w" y6 C( O; R( _" l
  388. STA $BB
    : j2 a: I+ U$ K5 j4 \& _' y
  389. STA $BC; P- c8 m% }2 l' h3 M' V
  390. STA $BD1 O8 a! A6 e% f" o4 ?6 a% P
  391. LDA #$00, Q: ]7 }9 p7 R7 \. a
  392. STA $7FFF9 w- j/ C4 N- e6 g% h6 l& ^+ B  d
  393.   x& @$ Q) g& |
  394. WL0:! o2 [5 f4 c( v. k$ c& x. ~
  395. LDX #$00
    & Q: {. W4 s9 Y5 @
  396. LDY #$00
    0 I* s- U* r% a+ j, R8 f
  397. LDA #$00
    % t: B1 V. J# H7 D. k! P
  398. STA $BA) q4 _0 j, n; z' @
  399. LDA #$20
    + w- e6 U2 b( T' q- G2 m
  400. STA $BB
    ) a; D3 T8 e: E+ ^7 W. n8 _
  401. LDA #$00' _9 F! p6 i6 H
  402. STA $BC
    # W% c# z* T6 u8 g4 O0 K0 \( n& v
  403. LDA #$60
    " C6 P8 x0 U4 x; ]( a
  404. STA $BD& q1 H2 k% e1 P. y. y- w& B
  405. & }" C4 l5 I* ?8 c# n7 X
  406. WL1:, U' \$ M) _' |4 A7 B
  407. LDA $BD
    9 L+ \/ }) U- L3 V7 r8 {5 K
  408. CMP #$68( c! Z9 x* }: f# D- \! K& e
  409. BNE WL2
    ( N& R( j; a/ g
  410. LDA $BC
    6 d* U7 i( Z- _  S6 g6 s
  411. CMP #$004 H8 Y/ k& i# C8 z' T9 o& a
  412. BEQ WLR7 D# D  A; l, T" _+ X
  413. % N6 `+ n0 ^) @$ q6 E6 L
  414. WL2:
    6 A7 n4 w  U' I/ b9 D1 |
  415. LDA $BD
    ' s' _6 C: Q1 `6 G* R; g
  416. STA $2006, B! {7 E2 a4 e3 H& {6 u: G9 @
  417. LDA $BC
    ( C% t0 U5 D3 H( b* @1 Y6 G
  418. STA $2006+ L* r3 R$ [* h0 `7 c% a9 z0 M
  419. 9 X5 h! V6 N2 L
  420. WL3:& d) j; m" o  C& D% b$ M6 x6 V3 K
  421. LDA ($BC),Y
    ! I' [9 w7 y7 Q0 J; S
  422. STA $2007* B: C& T- P" E
  423. : J0 l! Q' x' I4 J, [# u# w# E
  424. WL4:
    9 G! M/ A% w6 i! V" n7 c
  425. LDA #$008 o' Z3 G0 d, J% ^1 F8 ]; H  d2 q. L( q
  426. STA $2000- J" R- ^# R# i( M0 Y9 _; [+ R
  427. INX
      `3 O: R( J8 W1 N8 i( M
  428. INC $BA! G6 R2 ]- n# c
  429. INC $BC6 y+ s+ V# B4 J! O3 x% w* {
  430. CPX #$00
    1 s1 d% d+ I/ H7 N9 h! a8 f& b& E' O
  431. BNE WL1
      q8 A7 g* {1 Q4 S$ R: I1 T! E
  432. INC $BB4 W( w2 Q4 ?6 k1 K
  433. INC $BD7 ~0 n+ h% ?- o
  434. JMP WL1
    # [( g7 `8 N8 _0 f) J
  435. 9 [6 Z6 Z5 j8 S( s3 M1 U
  436. WLR:
    6 c7 E9 k+ G0 z. M8 Z
  437. LDX #$00
    3 o2 m. c+ u% W- M: ^1 U8 M/ k
  438. COPY_7F00_7F3F:& \  V7 y1 k2 `& h1 I, g# b, |! x
  439. LDA $7F00,X
    ; T0 W# A7 L" m) n" q0 J1 s- y
  440. STA $07C0,X7 g) h3 B) M  X$ G4 R; `5 J
  441. INX% ~& B  I$ `' [
  442. CPX #$40
    # F  S% C2 P, L) _) I- n
  443. BCC COPY_7F00_7F3F
    6 l) a% z% s5 I7 [. R$ f

  444. + H  {5 N5 J2 V$ T; i- W) t; o
  445. LDX #$00) b8 r9 z! C  D( k% B  e
  446. LDA #$3F# p% I' T" a0 M3 j( D! @$ H& j) K
  447. STA $2006
    * S6 ]$ j- c8 ]3 n
  448. LDA #$00
    + Z5 J  j; w' v; y' @& ]0 E: x
  449. STA $2006
    / I& t/ S3 y/ {
  450. COPY_7F00_7F10:8 i- U0 \/ `; f! U
  451. LDA $7C0,X
    : C  d1 ?9 z7 d
  452. STA $2007% ~' e) O8 P, Q6 ]3 V" A8 S! f
  453. INX
    ! l4 J/ K$ K  b6 q
  454. CPX #$10* V' I/ S9 q- g/ j" H
  455. BCC COPY_7F00_7F10  F( S" C. v/ x) b

  456. # C! |. e" `7 Y& _( X/ `. ]
  457. LDA $2002
    + N" u" D+ ]7 q$ q; @8 ~( @+ j, C
  458. LDA $FD3 p! Y7 L' f2 o( k
  459. STA $2005! U' O' @; v) |
  460. LDA $FC/ z: Q$ ^& ]7 c; z% C
  461. STA $20050 \3 D' m  i5 X* w5 R
  462. + S* Z5 K! \. A5 L% I" p0 G
  463. LDA $7F50- J' O: v% [, i9 \! v: W
  464. STA $FE7 I) U2 z. `4 l9 R
  465. LDA #$00/ d  ^9 d  e1 w! G$ e$ {# b& `
  466. STA $2000( @) }- Q, J# m) u* |$ R
  467. PLA
    ! _/ G8 S1 P% c0 M
  468. STA $B87 n. c# g) M0 b' b: d$ `
  469. PLA
    9 o- i. b; I/ E3 r2 u
  470. STA $B9
    + e1 ^5 W/ R! w7 a
  471. PLA
    $ {; ~& t8 K# Y  F* C
  472. STA $BA& L3 y* T( _2 u; a& E
  473. PLA6 I3 t2 o6 S( o
  474. STA $BB
    ) N; [; n8 A& j% r; U( x  Q
  475. PLA
    + Z9 Y# P* J8 B" U: B' o( k
  476. STA $BC$ k) U# E. X# a+ R/ S
  477. PLA# j; i1 e# p: A
  478. STA $BD
    # g: N2 N3 c/ P1 ^0 g4 X5 Q
  479. # E, K6 \3 w& J% i8 C8 K
  480. RTS/ H* C: Z/ [7 J

  481. # q% `( L: _% o
  482. PPU_CMP:
    * z% ]3 G( I1 H

  483. . i& a$ `7 ~: b
  484. 8 u( R- F4 W. Z* V' _' W
  485. PPURE:. @" x/ W; ?+ x$ o0 k
  486. RTS& i" T) K7 S, q; K) A

  487. : Z7 X3 f+ Y' ?% u- C. R# H

  488. 1 ~  q( i; w: L( {% x9 I
  489. FREE_PPU:! o, n, r' E" {
  490. $ q9 h  z* s1 T4 @' X
  491. JSR TEXT01_PPU
    9 @% Y* Q2 `0 t; ?) |% ~
  492. JSR $CBC0
    " @5 G' T# O2 p
  493. JSR P1_PPU  k& p: w/ D9 k$ t+ L$ W5 g( e
  494. JSR P2_PPU9 W0 @# F* `: w' c2 x& E
  495. RTS
    : B1 b" Q2 W5 @9 I. u* b3 `5 L3 j
  496. ' F% u4 C4 B. k% d
  497. TEXT01_ADDR:
    $ K8 `, ?7 w4 C4 d' @2 ]& V
  498. .BYTE $20,$426 F# ~0 L) y% z* ?  y$ u
  499. TEXT01_DATA:
    / P2 G* l9 X! C' |
  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; T5 O" h. |# {$ X" P
  501. TEXT01_PPU/ R1 U" ^- G( M7 I; o
  502. LDX #$00
    ; Y$ i/ [+ g7 \
  503. LDA TEXT01_ADDR+ }0 _; v6 ?7 y$ t0 K+ t
  504. STA $0703
    . L2 |# P; u) ]  N+ `
  505. INX
    1 C8 H7 a( u+ M6 O- c1 ^$ r
  506. LDA TEXT01_ADDR,X! K0 }: B% P7 j0 I# P, K8 y4 P
  507. STA $0704
      J0 `0 b. F) H4 a" K6 Z
  508. JSR PPU_PROCESS
    8 z  v% ^2 w) S2 v9 |& r
  509. TEXT01_W:
    ) K* P. `% D  p: B4 X9 e
  510. LDA TEXT01_DATA,X4 {6 x1 T7 a8 [
  511. CMP #CEND
    ) ]- c) v+ a- O: j: G9 M* y
  512. BEQ TEXT01_START
    $ v! ?6 ]/ |+ e$ G' [6 ^; T) h& M/ N
  513. STA $0705,X% ?: X5 l/ S) e7 _
  514. INX: q6 \7 O3 i8 E7 L
  515. LDA #$00; V9 G7 g; E4 [& Q1 I2 r
  516. BEQ TEXT01_W0 L* c7 ]+ Z  `/ B
  517. TEXT01_START:' ]; G/ z3 \& K- z0 B1 j/ [; u3 l
  518. JSR PPU_START. U5 b2 n" i. h
  519. RTS
    6 r/ K6 c( a5 W* {( @
  520. 0 X; j2 Y3 j+ b. ]0 d

  521. ( {2 \& O8 s% [  o: m7 u  v! H
  522. COLOR_DATA:
    / O$ G+ e5 W2 j0 k& {
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    / j: s8 D! h6 C$ b4 n. o, J1 L
  524. $ l6 X5 ~& q! P  |' F$ Y; k* I
  525. P1_PPU:7 z- S/ B1 }" L5 Q3 D( {" w
  526. JSR PLAYER_01_PPU
    ; A7 y% [* B( E6 _4 Q3 w
  527. JSR $CBC0
    ( |& k3 ]( Z9 Q0 Q, _8 \3 Y5 v+ s$ m
  528. JSR RELIFE_P1_PPU2 j# L9 s0 A/ ?' I, x/ w
  529. JSR $CBC0
    + g$ z4 h5 p/ f
  530. JSR RELIFE_NUMBER_P1_PPU
    2 \" m9 [- J$ f) Y  q
  531. JSR $CBC0
    0 }) F7 j6 w' z0 O, a& T2 h! ~
  532. JSR WEAPON_P1_PPU
    + a4 ]4 ~! q. `- t: h
  533. JSR $CBC0
    ; ]+ u. r& ]" h' O" B
  534. JSR BULLETPPU_P1_PPU# s  [& e; m" g# E' ]  z- ^& m
  535. JSR $CBC0/ ?; H) ?# Q( r% H% J
  536. RTS
    & c* P' V+ u5 G: e1 Q

  537. 6 q9 Z4 x% g2 v& S! n% F
  538. P2_PPU:
    0 |' [3 g* X: E6 h* m; t' o* u
  539. JSR PLAYER_02_PPU
    6 O: `' h" D$ g
  540. JSR $CBC0
    8 C0 V% k* }& G' @3 n) f
  541. JSR RELIFE_P2_PPU5 R6 r$ `0 [- L) Y, A* O  X
  542. JSR $CBC0
    3 v2 a. t8 w. y7 C1 _+ {, i5 C
  543. JSR RELIFE_NUMBER_P2_PPU
    ! f3 }" Z0 z7 N1 k- n. {
  544. JSR $CBC0$ E+ @; M; l" ~- Y2 @3 e* j
  545. JSR WEAPON_P2_PPU
    " Y* x7 t8 I$ r4 X( A
  546. JSR $CBC0& K4 ^2 K& A! Q/ }/ |( D+ j5 O
  547. JSR BULLETPPU_P2_PPU% L5 `' _: u0 Q9 J2 {  t
  548. JSR $CBC06 I, a0 C3 }9 }# z
  549. RTS$ J6 T* I5 ]8 V# B( i# w

  550. ; x5 `1 Z/ a4 V4 O6 N

  551. $ v3 |6 A! S2 ~3 N) r5 H
  552. , r2 E9 P1 p2 T, ~* P! }
  553. PLAYER_01_ADDR:
    ( Q% r3 {& M7 {9 Q
  554. .BYTE $20,$A3' [8 m6 w# k# K
  555. PLAYER_01_DATA:  K+ R- T  e& R5 I4 u1 j
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND2 y% o9 k' w6 ^7 M" {
  557. PLAYER_01_PPU:
    9 ^5 y3 n, I2 G
  558. LDX #$00: j3 b1 i. c* c- L( U5 T
  559. LDA PLAYER_01_ADDR8 `, ^. A) X5 V$ E4 Z' H
  560. STA $0703. T3 J7 s5 m' K  f5 s) t& P5 `
  561. INX
    1 \, A- k3 p2 c1 X  A% L' H* ]1 p
  562. LDA PLAYER_01_ADDR,X" v, i* }" ]! U7 b7 O3 J; q
  563. STA $0704
    ; Q+ {2 V1 \0 q
  564. JSR PPU_PROCESS9 q- m5 C4 T' C, o: }
  565. PLAYER_01_W:, U% c/ e5 N) X! R. I
  566. LDA PLAYER_01_DATA,X( H) G8 U+ Y5 _, z7 |; U0 p2 a* t6 W
  567. CMP #CEND
    ) M3 P( l5 A0 N" H
  568. BEQ PLAYER_01_START' T1 d# @2 |- H" r$ g+ u0 s
  569. STA $0705,X
      P3 J3 T" A( F+ P6 M6 }
  570. INX5 f- D# ]- W) f7 U6 x
  571. LDA #$00# S6 T" M+ `7 G( x* V5 p1 [3 x
  572. BEQ PLAYER_01_W4 u* m% O6 d' E8 Z
  573. PLAYER_01_START:
    % e$ I) S0 o$ ?6 N9 [
  574. JSR PPU_START. \8 x1 z( k; K4 @9 u; |( A( G
  575. RTS- D" k9 X* [/ h, ?! a8 g2 D8 V, S3 `

  576. 5 j, @, I% Q. I/ U- l1 @
  577. 5 R  d4 L& [$ `# o  C7 {( o3 E( T
  578. RELIFE_P1_ADDR:- i. @9 O* _3 U- M
  579. .BYTE $20,$E3
    # L: r2 @0 ?  y" ~5 v: T2 o
  580. RELIFE_P1_DATA:
    . L& p$ k) x6 q/ H8 A4 C! a
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND  o3 E8 L# Y+ l5 O7 t0 f
  582. RELIFE_P1_PPU:
    " e8 H" k( h- i; T: ~
  583. LDX #$00
    2 ?; d3 L* ?3 {- A$ {* p5 V
  584. LDA RELIFE_P1_ADDR
    $ I. T. `% S' z- s0 E- F4 ]8 U
  585. STA $0703
    * B0 f$ ?  ^4 }  _
  586. INX
    " r8 u3 C- ], D
  587. LDA RELIFE_P1_ADDR,X2 v/ \4 m; m% r
  588. STA $0704
    " e: J+ }3 J& s/ k6 t' g4 L7 U3 z
  589. JSR PPU_PROCESS8 ~( b/ l! P/ Z' \
  590. RELIFE_P1_W:
    % s# }0 t2 u2 m0 }) `: H
  591. LDA RELIFE_P1_DATA,X
    1 J6 v0 T/ L6 S8 h; o( N; X
  592. CMP #CEND
    9 m7 B1 `8 w0 q: ?. v( N1 [/ H
  593. BEQ RELIFE_P1_START0 ^( M/ X% x3 n! }* }! f
  594. STA $0705,X% ?# V7 {/ p9 D4 E" _
  595. INX! m8 A: G7 V! r: U, i  c2 n
  596. LDA #$00. }4 |6 b: w/ N
  597. BEQ RELIFE_P1_W
      @/ F9 O4 c) u% \
  598. RELIFE_P1_START:2 v# ^: l* i8 H3 |
  599. JSR PPU_START" a5 h) Q8 J% p" [+ N5 l6 L0 ^. U' y
  600. RTS
    , o  W+ v5 R$ M7 [

  601. 6 d  d- p. b( g
  602. % L" l2 n7 k8 O7 H+ N2 }
  603. RELIFE_NUMBER_P1_ADDR:% q+ L/ [1 K# a0 J) f
  604. .BYTE $20,$EA
    % j0 g2 S, p% L2 i. H5 ^& L) s! r9 a
  605. RELIFE_NUMBER_P1_PPU:9 D8 E( X2 O( m# E1 g7 l
  606. LDX #$00
    ' C% r0 B4 x. n8 z) I* V( H+ ~- y
  607. LDA RELIFE_NUMBER_P1_ADDR
    8 [; \% A4 s* V
  608. STA $0703% _2 \$ m5 D0 X( p6 [
  609. INX' @( ]# a$ W- J' Q6 A
  610. LDA RELIFE_NUMBER_P1_ADDR,X6 i) Y* S; j+ [$ E4 O- h. y- y
  611. STA $0704. F; G3 ], X6 c" Z  n( j
  612. JSR PPU_PROCESS
    + y+ ?* B* g/ |6 {8 M
  613. LDA $32
    6 r' o, n" X0 O: Q' W* ^- |
  614. JSR LIFETODEC
    $ b- b3 _4 K9 n! ?
  615. RELIFE_NUMBER_P1_W:
    ) l# J. ^$ E! d$ r+ _1 [) O' C
  616. LDA $7A035 F. c! ^5 v* O* _6 \1 ^% I
  617. STA $07054 ^1 `$ b  u6 e
  618. INC $0705
    . \! S) G* |6 c$ O
  619. LDA $7A04. C4 k& A9 q# _0 j/ j" d- x4 a2 G2 Y# S
  620. STA $07062 E, J7 _5 ]4 H* r. O
  621. INC $0706
    , n+ G3 G1 x; O! u( |
  622. LDA $7A05
    9 l4 O0 ^  g; A7 R6 a+ ?$ I
  623. STA $0707
    2 }) f* ?! z5 f) z  t8 m8 k+ M" T8 k
  624. INC $0707' I  Z3 [- L" p) v
  625. LDX #$03" b6 ~! v; ?" }
  626. RELIFE_NUMBER_P1_START:2 P+ J: V/ B$ ?5 P1 g3 h' e
  627. JSR PPU_START
    # a0 |2 X$ B; [2 T7 }
  628. RTS/ b, {7 E% I# f% i; ]
  629. & F9 O- p5 g6 h( g
  630. WEAPON_P1_ADDR:: \" q$ q: v7 n1 b. R9 X
  631. .BYTE $21,$23/ P) o# v% b# H* w3 y
  632. WEAPON_P1_DATA:
    % w+ d+ ]& }( J8 Q4 ^9 Y0 N
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND5 j/ s( v& N4 E( N, P, p
  634. WEAPON_P1_PPU:
    ( ]8 l- {/ \' @; C- F
  635. LDX #$00, y, p# [* Z- ]. M$ n2 Y
  636. LDA WEAPON_P1_ADDR! n( q* _) A5 W4 n
  637. STA $0703
    5 ~& b' J, @; S( k  F
  638. INX% C2 R4 ~! Q/ U) Z& t, \6 f; Y
  639. LDA WEAPON_P1_ADDR,X& t% K$ Z0 t0 g5 D
  640. STA $07046 l/ P5 S& @" |/ P
  641. JSR PPU_PROCESS
    * y$ F  z2 K" [+ E
  642. WEAPON_P1_W:+ d1 J: }" W; {
  643. LDA WEAPON_P1_DATA,X
    0 o( m/ k/ g' l1 l
  644. CMP #CEND
    / P$ ^1 H# h, e; }9 a
  645. BEQ WEAPON_P1_START
    8 g: I& [# q& e: W6 a7 d
  646. STA $0705,X7 M8 }" S4 z& g$ n& r' j  m+ d
  647. INX
    + o& F$ K( L8 q; c8 W/ M; p
  648. LDA #$00/ d. T" ^9 r  P+ S4 d. f
  649. BEQ WEAPON_P1_W' h7 \( a7 t, O" z6 K2 x
  650. WEAPON_P1_START:
    5 Y- j3 t* ]" [) Q/ b4 e& N, w
  651. JSR PPU_START7 ^  ~' d# {) t5 @8 H
  652. RTS
    9 G. j; I9 S: V9 m6 I% M

  653. 2 N0 [/ ^& G4 i" S
  654. BULLET_P1_ADDR:
    - ?+ z" M3 M1 f
  655. .BYTE $21,$2A
    - _/ W, r. D5 m. G$ r
  656. BULLET_P1_DATA:1 Y8 n4 h. `7 |9 I9 @0 D
  657. .BYTE $00,$01,$02,$03,$04
    $ F$ I  G( K& ~( _7 @
  658. BULLET_P1_NAME:
    0 q, ^: h/ c' m2 z1 n
  659. .BYTE CN,CM,CF,CS,CL
    2 c2 s$ \0 I) \
  660. & v1 o1 y  G' S7 r0 P
  661. BULLETPPU_P1_PPU:
    - N) D1 Z6 }) w8 D& k
  662. LDX #$00" {+ w; h3 [" c8 g0 U
  663. LDA BULLET_P1_ADDR
    9 h/ a' n% V, y( K1 C8 L! q2 C
  664. STA $07039 S& W( \/ _, i. z
  665. INX2 f) }8 x! F# w
  666. LDA BULLET_P1_ADDR,X6 c5 E* u4 c8 ^! z0 c  q" [
  667. STA $0704
    / ]" }" ?( ^6 |$ T+ M6 x
  668. JSR PPU_PROCESS
    " Y# x: G/ z& P+ m3 [  O
  669. BULLET_P1_WRITE:# i+ k% f3 N# c7 K2 C$ h
  670. LDX #$00$ O# k6 B+ T, x' q
  671. LDA $AA
    + P1 B- Z! y  i+ Z1 ]2 B/ N5 H3 _
  672. AND #$10
    $ u* P$ w7 l" D1 L. e# ~. L
  673. BEQ C_BULLET_P1
    ! P( V6 q* h- l4 _7 D2 \  I7 l' V
  674. LDA #CS
    * D$ d/ I+ K" \. M  ^6 y5 [* ?6 ^* H
  675. STA $0705
    ! T: ^9 L. P4 h2 N6 \( J9 _
  676. BNE B_NAME_P17 G6 C8 _5 |1 z- J2 _! `  M
  677. C_BULLET_P1:) P& q8 x- k6 A. Z- z
  678. LDA #CC$ k8 W' h! t% o! q
  679. STA $0705+ C9 [" z% e, _" E$ H
  680. B_NAME_P1:$ ]8 ^* J* E, H% G: s0 X+ c
  681. LDA $AA
    ! R  ^3 ?6 Z" T) g
  682. AND #$0F& W9 k& S  q! Q7 h
  683. CMP BULLET_P1_DATA,X
    ' n0 D# i' Q+ q3 B$ n0 s; c! q
  684. BNE B_NAME_P1_RECMP
    1 R5 P5 c8 h& t0 `7 _4 |0 y
  685. LDA BULLET_P1_NAME,X9 R) [# o2 q: I9 y, X
  686. STA $0706
    ' k: v# f! l# N5 {
  687. B_NAME_P1_RECMP
    % b% `9 V2 ~* s/ D
  688. INX
    ) e0 W6 G1 c3 c9 @0 j2 b# R: p
  689. CPX #$05
    # b9 Z2 C% Y# C1 Y3 M) P) r
  690. BCC B_NAME_P1! _3 A7 z* B) @' T4 \/ o
  691. LDX #$023 I' S% ]! G! w9 s& s5 P
  692. JSR PPU_START
    2 q7 v& l6 G  v) t3 [# \
  693. RTS
    . y, p) Y1 a9 d5 m9 x

  694. ( \! o) e$ ?) [$ L7 l" H

  695. / ^, f; A5 X) }' \- L, Z
  696. PLAYER_02_ADDR:
    " p2 `$ W7 m: J
  697. .BYTE $20,$B30 k. s. k' B) z5 r
  698. PLAYER_02_DATA:% M" J% Y) C; v  o! ~5 |
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    4 ]# T5 [1 S' J: Y1 p6 V
  700. PLAYER_02_PPU:
    : b( ^+ n. U2 {8 c' _0 i
  701. LDX #$00" c6 f& G' {/ ]) R' C& p2 f3 ]
  702. LDA PLAYER_02_ADDR
    . K7 ~" G# G0 V8 a2 b
  703. STA $0703
    ( X; i5 L8 X$ W" M- c: _) B1 @4 N
  704. INX/ [# G' ?# S" W7 {
  705. LDA PLAYER_02_ADDR,X
    ) {! k0 |8 Q* d, ^! w
  706. STA $0704- _0 p& z# i/ F' S
  707. JSR PPU_PROCESS
    9 ^. }3 w% J$ D- M7 n
  708. PLAYER_02_W:
    # G( d8 O* A: U/ `2 C
  709. LDA PLAYER_02_DATA,X
    & Z+ E5 `* `5 j) A- Z1 X( |0 n
  710. CMP #CEND
    . \: b2 h2 C5 T/ D
  711. BEQ PLAYER_02_START
    * q6 t( X/ [9 T: i$ y/ B/ G$ @% U
  712. STA $0705,X1 S. R+ H) e9 c
  713. INX: H4 p& `' ]' {; }7 `
  714. LDA #$00
      s* D; s6 u2 b2 `' s# k! O
  715. BEQ PLAYER_02_W: Y! W$ V# q: N# R8 x
  716. PLAYER_02_START:: Y) ^9 c4 A$ J$ _3 f
  717. JSR PPU_START
    4 O, _* N! B3 d% h  L5 r
  718. RTS3 F1 m9 ?$ v) V- M
  719. ' ~% W/ u5 T: `6 m2 _) Y% d$ s
  720. $ t" d/ c/ M% m2 J: m
  721. RELIFE_P2_ADDR:" g- L1 C  l7 ^* ^. I+ K& B" ?: N
  722. .BYTE $20,$F35 a5 z. o$ d/ O# y
  723. RELIFE_P2_DATA:
    ; h. n; K+ P! {$ m: L: G8 Z
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    4 `. e, c0 ^7 N9 e/ S9 k
  725. RELIFE_P2_PPU:( @, Q% D1 g# p$ T7 U- N  J( J( L
  726. LDX #$00
    , N2 j$ U9 z8 L/ }* M
  727. LDA RELIFE_P2_ADDR$ b7 R1 B( [9 a) W" t/ R, N" [' l
  728. STA $0703
    5 J  W8 J0 K' `0 V
  729. INX. E' M+ e' ]  s% R% O! F! T% V
  730. LDA RELIFE_P2_ADDR,X3 b" p5 x! V4 A! e
  731. STA $0704& L8 f# D% E6 \
  732. JSR PPU_PROCESS
    4 L6 V. o7 @+ N/ L; p6 y  Y
  733. RELIFE_P2_W:
    % m3 C" R& @( A! c
  734. LDA RELIFE_P2_DATA,X
    8 F; ?# j6 X( X4 @: n
  735. CMP #CEND
    7 |( M; v2 N- f7 g3 J: b6 C
  736. BEQ RELIFE_P2_START
    : \3 j4 b3 @# F8 J$ C
  737. STA $0705,X
    3 L7 @' @9 P, K3 g( i
  738. INX2 I; V7 M/ n! Z- W8 t+ ~9 d/ s
  739. LDA #$00
      `- ?! a- l4 t) o& n: @+ d( V
  740. BEQ RELIFE_P2_W# K  t0 G* \1 Q* u0 q4 O, @
  741. RELIFE_P2_START:
    . O4 L" T* Y2 }( ?
  742. JSR PPU_START9 b1 w2 x* T. x  e6 R3 O7 ]
  743. RTS
    ( j7 b5 g) F! c9 r

  744. 8 w" Y5 ?$ w: j0 g
  745. % U7 r. \& z2 {+ q& g, B9 q
  746. RELIFE_NUMBER_P2_ADDR:$ q" F& R1 i8 @* q
  747. .BYTE $20,$FA
    & ]6 M* [. a# ?0 q( S
  748. RELIFE_NUMBER_P2_PPU:
    2 w  }- Z2 O6 D6 a
  749. LDX #$00" a/ i: E7 p( v
  750. LDA RELIFE_NUMBER_P2_ADDR
    5 x% @, h; b. E  L6 E
  751. STA $0703
    2 t9 F* @: _& a! O8 z& u
  752. INX$ V: ?9 P' O- D, ^( u: ]7 f, t
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    & c. \  E# g! J) P
  754. STA $07045 z/ ~7 G6 S2 j- Y2 `
  755. JSR PPU_PROCESS6 H; m8 K" t( s' s$ w
  756. LDA $33
    # D* M4 M0 l0 M8 J# w: e, {
  757. JSR LIFETODEC
    ' `- C; J& v/ c! e% ~6 O6 {
  758. RELIFE_NUMBER_P2_W:# ^' I6 |* a5 j3 r% r1 Y
  759. LDA $7A03
    9 S" }. \) N- C9 Q& a  s* R  ~
  760. STA $0705
    , i, c+ C0 K8 Q+ Z6 s
  761. INC $0705+ S7 O' W+ g9 E+ w( J) g
  762. LDA $7A047 ]. |  y9 E. ~7 ~: }
  763. STA $0706, _+ p: A7 o" Z$ n% t
  764. INC $0706% L6 `( B. ]. L, s3 c" o
  765. LDA $7A050 X! q5 z3 {8 {& }4 f/ y
  766. STA $0707
    % |' l- E$ c  P# y/ v- G3 z1 T5 ?) Z
  767. INC $0707
    9 j( p) e" x" G8 ^/ {2 k) q
  768. LDX #$03! |0 ]3 i8 K9 k# v/ f, h& F" d
  769. RELIFE_NUMBER_P2_START:
    7 e1 Q; e. X0 d3 K3 i
  770. JSR PPU_START$ t$ ~' `! M6 O, {* I
  771. RTS8 Y" v) P7 ^% Z+ }$ D
  772. % Z0 j8 w. h( y4 k% [. z9 x% [
  773. WEAPON_P2_ADDR:2 `' O0 P2 `; l$ g1 h6 ~# w
  774. .BYTE $21,$333 E' x, t3 U4 i0 ]$ y$ x
  775. WEAPON_P2_DATA:0 Z3 t0 J/ B/ t* ~0 p# A
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND' d( O$ R/ J( I% m# D- D6 a! ?, l
  777. WEAPON_P2_PPU:
    2 D. o0 a) |) H" w- h0 M7 G# P
  778. LDX #$00& g, ]6 s! A$ _0 N. N4 ^
  779. LDA WEAPON_P2_ADDR
    + g0 v& b) D4 P0 K% N7 Z
  780. STA $0703
    + x0 Y/ i" z; _3 J6 y/ o
  781. INX
    + `7 w/ m8 x5 o4 R8 E, G
  782. LDA WEAPON_P2_ADDR,X
    3 i3 v" B; L( E" \  i
  783. STA $0704
    % P) V2 P. y- J& k1 n
  784. JSR PPU_PROCESS
    1 ^. P, u8 Y, M& z/ m% S6 l
  785. WEAPON_P2_W:
    9 o, c* I6 L2 q7 K" p
  786. LDA WEAPON_P2_DATA,X0 E# j- _( J6 C4 v# Q" F9 f
  787. CMP #CEND
    ' g7 W1 l- U  [! S1 n% i; G, `: t
  788. BEQ WEAPON_P2_START
    % ]9 ^  G; S/ l7 Q0 A7 x4 t! P
  789. STA $0705,X/ ^6 F8 I9 \1 E) N
  790. INX' x% I0 j3 q4 ]' C
  791. LDA #$005 u# v7 c. Q' V: R% a
  792. BEQ WEAPON_P2_W: H4 p" g& |+ H4 Q1 ]/ Q  j( a
  793. WEAPON_P2_START:
    " p' T) r% Z2 O8 b5 b: m6 x
  794. JSR PPU_START
    + \$ h8 y+ x( D& y8 G- S
  795. RTS
    1 {$ A0 w% S9 z. }. Y

  796. 5 c) c  O+ w, Y, i3 d" n- z
  797. BULLET_P2_ADDR:
    1 {1 L8 B: \1 v/ H" I
  798. .BYTE $21,$3A
    . p/ T' M- O& c, p$ ]
  799. BULLET_P2_DATA:) n* z# D9 F* B& R2 @2 e
  800. .BYTE $00,$01,$02,$03,$04& ~+ \8 z! \5 ?& C
  801. BULLET_P2_NAME:' U3 D! I& w5 H4 m3 D
  802. .BYTE CN,CM,CF,CS,CL; \' A( A6 L7 P

  803. . Q) Q& \, i+ A  v( T5 P
  804. BULLETPPU_P2_PPU:
    : ^8 k+ [0 y2 b; ^2 c
  805. LDX #$002 e5 d. Z+ q3 L0 T
  806. LDA BULLET_P2_ADDR  y3 f2 p2 [6 N: Q; E9 F
  807. STA $0703, m8 w$ V  ~0 _. G' G
  808. INX
    4 m% P3 P9 {' I. \+ H9 W
  809. LDA BULLET_P2_ADDR,X
    7 |4 \# n4 l1 ?6 T+ V
  810. STA $0704. U* @: {, ]  F" u9 Z- a1 }
  811. JSR PPU_PROCESS
    4 i" V4 l% o8 G2 D
  812. BULLET_P2_WRITE:
    ! ^; M' v, p9 q$ r1 u( `- E0 k+ B; E
  813. LDX #$008 f6 d, x/ x( J! w
  814. LDA $AA
    6 n3 O" L' ^- R4 F: u" {
  815. AND #$10
    5 I0 w* l/ O0 ~. g) Y
  816. BEQ C_BULLET_P2; n7 z" w$ L7 Q+ f8 B
  817. LDA #CS
    $ J8 V+ |. h" f; j& [
  818. STA $0705
    3 ^- m) y, w7 D! p/ _- u! T( c3 r
  819. BNE B_NAME_P2
    : p7 b1 u. \" F
  820. C_BULLET_P2:
    6 g$ P* I1 k  d3 ^7 z
  821. LDA #CC
    / q. g$ p0 X3 e1 _9 l3 N3 _
  822. STA $0705
    + Y/ I7 x- d6 }8 V
  823. B_NAME_P2:$ o6 E4 v- H/ p1 }# B" C6 T
  824. LDA $AB
    4 x- {9 ~+ z0 Q4 O4 k) @
  825. AND #$0F$ h% U& ?5 b8 f+ ~! ~
  826. CMP BULLET_P2_DATA,X7 G8 a* H, F$ O% [4 {
  827. BNE B_NAME_P2_RECMP; P; K7 l% ^! r- l% [, b
  828. LDA BULLET_P2_NAME,X# C) {1 f" Y2 l( |5 S# h
  829. STA $0706
    ; Y4 g' F1 k: o7 @; M* ]
  830. B_NAME_P2_RECMP) y  U2 `! E8 |- |
  831. INX2 G( Y) [# ]% n# m# I3 n/ _8 j
  832. CPX #$05
    % V4 W# [9 I3 X) w( E
  833. BCC B_NAME_P2& H% i( F) o7 [7 M- G* x
  834. LDX #$02
    $ O9 x3 o- h* ?! R
  835. JSR PPU_START  L; K" f. m9 q
  836. RTS
    4 T/ F* m7 `$ M. z- R1 G3 k
  837. " W! B" b9 ^9 A+ `
  838. ) V! W% w& O% ^; Q) ~

  839. ( K4 e  E, E+ e4 F7 ~( S
  840.   v  @7 F- M+ z% i& ?
  841. : h' J. F9 k0 m  e4 G- w
  842. 2 @+ x8 p# {. o
  843. LIFETODEC:                ;十进制转换
    4 q9 [) M3 C0 k3 o3 l
  844. LIFEL1:        ;initialise
    9 t/ E: V" h4 P+ D
  845. STA $7A00        ;$7A00=F3
    7 u; j7 g. L$ f7 ]$ ^2 V
  846. LDA #$00
    ' B" l, V$ t! r( z8 ^' F! b' v
  847. STA $7A03        ;$7A03=00
    ; s% y* Y6 a# B  z8 N9 @+ W
  848. STA $7A04        ;$7A04=00
    9 E, p* V! ]1 }# r6 S0 K
  849. STA $7A05        ;$7A05=005 i$ }- `0 m8 R- ^
  850. LIFEL2:        ;copy data $7A00 to 6001/ }9 |3 ]2 @+ A4 y0 {  C
  851. LDA $7A00
    : Q% t  L9 S0 [, ~0 C% U0 M' _6 l
  852. STA $7A014 C6 o, r7 @% O3 I, H# k5 i" ~

  853. # T9 H3 V% ]$ ]0 l0 R2 p6 Y
  854. LIFEL3:         ;hundred# r) i: m5 G. W, b# i
  855. LDA $7A01  ]% C8 R5 @9 f9 U! l8 S* a
  856. CMP #$64
    ; h6 o2 M4 X/ X
  857. BCC LIFEL6                ;$7A01<100 goto L6
    4 x5 F) ]3 P; |+ [3 g  ]
  858. LIFEL4:5 ~. Z2 Q$ X% c
  859. LDA $7A01. |% l/ o0 o2 D  g& A/ ~4 E/ `" f
  860. SEC/ M* W4 A8 {. r5 T
  861. SBC #$64        ;$7A01=$7A01-100
    # U& d3 z) V% \9 o
  862. STA $7A01
    , r! w5 Q) L  c
  863. INC $7A03        ;hundred++
    . T1 Y. p6 Y. S
  864. LIFEL5:' P% ~" w$ f5 |& n( O
  865. LDA $7A01
    5 ^- D& H, s8 D! g
  866. CMP #$64# ]. d7 X# a' t& x7 F2 S; x
  867. BCS LIFEL4                ;$7A01>100 goto L4, E/ u* R, V& R8 Z2 Z* ]7 y/ x$ [
  868. 3 X/ b6 p; k4 ]5 l
  869. LIFEL6:        ;decade
    ( P6 q8 a: M! z: J; w/ {
  870. LDA $7A01
    / l1 H3 t3 Z0 Z0 a! f9 e  j5 @
  871. CMP #$0A# b0 j# H( O  R4 q" K
  872. BCC LIFEL9                ;$7A01<10 goto L99 w# `9 `% E, P9 f
  873. LIFEL7:        / l! n* J! T  ?
  874. LDA $7A01
    3 x# r) B! r/ U/ l( s8 {
  875. SEC1 d6 A9 l- q4 w( q
  876. SBC #$0A2 ^! w2 y7 A, G" ~) E2 f
  877. STA $7A01        ;$7A01=$7A01-10
    6 k8 Y5 H! H9 ^* d/ b6 r
  878. INC $7A04        ;decade++! k7 v, H# y; I! Z8 o
  879. LIFEL8:
    + c  t, T: _3 b3 A+ ?+ A7 j6 j
  880. LDA $7A018 }9 v% {$ P4 M: d# `/ x- I+ [% g
  881. CMP #$0A+ ?, J& u9 [, n+ s
  882. BCS LIFEL7                ;$7A01>10 goto L7
    + t/ l" e/ {- W6 n6 f
  883. ;unit% O; X5 I2 P, ?0 w" V7 d: l5 T6 j
  884. LIFEL9:& s3 x  y& d; ~9 Q, E
  885. LDA $7A01        ;$7A05=$7A01
    . \1 c) s7 O/ X6 s
  886. STA $7A05        ;unit
    7 h" j" Y' r7 K1 F; a
  887. RTS        ;return
    ' v6 o  t5 E. \) t8 L& J6 ?

  888. 5 t  \2 Y# f. e
  889. # n8 f) E( S6 A; m1 x1 {$ ?" y( p

  890. 0 Z7 h) D$ h. X1 L
  891. PPU_PROCESS: ;PPU地址处理程序4 F, O; G& P: F  \* D
  892. LDX #$00) K& y* ~( u1 y* k+ J3 c. w
  893. LDA $FF
    0 D8 B1 ?- h5 s7 B4 Z* j/ U
  894. AND #$019 A" C4 h# a) O0 F4 X
  895. BNE PPU_2400_27C0
    4 T3 s3 d. C. G0 m  z8 J
  896. PPU_2000_23C0: ;命名表1
    . U1 c+ _# `1 F: U8 q' B) F& o$ j4 U5 }- |
  897. LDA $0703; K/ T& [# @. Z3 c  _( V) L8 n/ |
  898. AND #$FB
    6 {5 S* {2 D; D# c$ w9 a
  899. STA $0703
    ; B- H* ~+ K/ r: Y$ L% K
  900. RTS
      b5 p" T# M2 X
  901. PPU_2400_27C0: ;命名表2
    $ y3 |5 Y9 r6 g0 u7 d: N% U
  902. LDA $0703
    : z5 m, c% A. x
  903. ORA #$04
    - K1 X( I, K% d6 x  _# L
  904. STA $0703, t. c: h6 ?& v1 s! ^" D
  905. RTS4 n0 K- u6 z5 l# J$ W( c
  906. 3 ^+ M2 D( \) B6 B% i  ~5 N
  907. PPU_START:  ;PPU数据写入0 z' p( D4 W# U6 E; [# W5 E
  908. STA $21
    * ^  d' s; P8 i* n
  909. STX $0701# v4 u6 o9 k0 p3 [
  910. LDA #$00
    0 I+ ~7 [2 R( t2 f# i
  911. STA $0705,X
    1 w* {1 Q; N" w
  912. LDA #$01
    ; ~/ \  `4 G1 j' U% a4 o5 R
  913. STA $0700# K: s. |+ ~& [/ {% {. S
  914. STA $0702
    # Y. ?( G, }& C! z1 G/ v. I6 j6 M
  915. RTS! B- d8 w( Y1 T: Z' j

  916. % L; R$ @6 g# H* \- J
  917. / M" c* P5 j7 }# `

  918. 0 O, \' m7 K4 U. n- f( X: Z8 n! S1 |
  919. 2 B/ J* I) K2 C4 H/ C' B

  920. ( v" r( [/ f$ v& o8 ^* m, {/ i

  921. 5 V; }& j0 O9 T) \' o  S$ G3 q% t
复制代码

9 \1 J- d, ?' H

本帖子中包含更多资源

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

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

签到天数: 2139 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!- {7 _, K: B2 C4 }1 k8 s- t
回复

使用道具 举报

签到天数: 2552 天

[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-4-6 23:09

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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