EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序- ^9 T7 p& n: N+ R
  2. 作者:FlameCyclone
    ( M$ ?) _1 W8 x" V# y+ K  z
  3. 时间:2017.2.12
    ' M( K; ~1 [4 @/ m# K/ o5 y
  4. 3 J$ K' t* o; e
  5. 按键跳转:9 H8 _0 n% [# X5 s/ M3 f% B# X. H& m
  6.         C1EF:95 F5 94 F1! C/ k, i* F8 x/ u) v7 M( ?! V
  7.         C1EF:20 70 FB EA+ _' }4 m! L3 V) C1 Q% E- m$ O

  8. " a. n) \" F  [9 ~) x* C/ Q6 y
  9. 滚动偏移:; g* N  s6 l- o% @- R1 [$ O1 _
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20- ?: g9 K% s2 v% H
  11.         F936:20 C0 FB EA EA EA EA EA EA EA, a" S* B6 U. s5 [' t8 q- m5 [2 v
  12. 5 s/ o& s! o; Q' ?% L9 b  Q! G
  13. 背景调色板:
    * d2 O- [" x+ _! ]- h" G0 r  S
  14.         CF20:9D C0 07% m3 n6 f$ u5 }, ^0 v
  15.         CF20:20 A0 FB
    1 W5 D5 z* P4 ?& j* X" ^

  16. , |; p( _% @! p5 H& t9 q! G
  17. PPU BANK号:
    4 r+ d/ i, S: k7 t; ]9 j
  18.         C8C9:9D F4 07+ y; x; E! i1 x& X, C: I1 g3 g5 ^
  19.         C8C9:20 B0 FB
    , v% {: C5 A2 D6 ?. Q

  20. * B8 `7 z3 |0 a0 N% w+ W; ^
  21. 按键跳转:4 O3 O$ F& _5 V7 A
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20- m: a3 v; V4 w8 |! G2 t/ y
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20; W  `% S% g; ^3 @
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF. U( a  I( _" S) Q8 r
  25. % y+ k0 I8 Z& x9 e
  26. 背景调色板:# B# S% q5 {  b9 Y4 j
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF1 W9 h" ?, @' \1 b7 b+ d
  28. ) x4 i8 ~5 q! k" q. a6 ?
  29. PPU BANK号:
    * y3 n2 e9 y# m- m! n) _- I2 ^
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF
    $ H5 ^. ]) l0 Z
  31. ! [! l) [/ ^: S; Q( j
  32. 滚动偏移:2 B2 j" g  a! I# _! c: F
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60
    + Q2 |3 J$ ], Q% |  t& W
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    ) k( d# f+ M( B

  35. ) R) \3 r; O6 c4 v3 v$ n
  36. . E" j: O' R( U; S
  37. 切BANK后A000:* ]* r: O/ A9 a6 q' Z/ R8 e
  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
    6 E9 W% q3 S$ \- e' w* X% r7 m5 ?

  39. " W' o0 ]* M- T- r: G4 ^! x1 W( y8 C4 p/ r
  40. / i& _$ c- A7 m7 Y2 e# S7 e
  41. 6502 simulator:
    3 V$ U9 J: x, V& Z  d
  42. PPU写入程序:
    4 p4 w& f8 [. @* y! u8 |+ |% e
  43. .ORG $A000
    8 b& q+ y2 Z6 K' g
  44. CSP = $80
    & v: z1 b1 A3 M2 x2 b; T
  45. C0 = $81
    & E# X0 [8 B; W! Z( X$ l: B$ F+ v
  46. C1 = $826 r. r* U4 R' N& t9 [
  47. C2 = $83: h+ v2 W$ x2 v  l' a8 k# s0 ~
  48. C3 = $84; a2 W) Q5 }, M* j0 C* {! y1 O0 u
  49. C4 = $85
    4 i) R) z) D3 j) Z- d
  50. C5 = $86
    / z) G3 N4 Q$ c$ Y0 Y  ^7 H$ c
  51. C6 = $87
    1 e/ ]% k$ V# r$ C3 C- N- m
  52. C7 = $88
    1 L& C2 u# ^0 {' H. w
  53. C8 = $891 f9 Z4 u. ~5 x* P  G$ k/ Y1 u* u
  54. C9 = $8A8 H6 K1 j; q) R, o
  55. CA = $8B
    0 _: p) s- f* V. }/ @$ ^! g. k2 X
  56. CB = $8C* c* l; H# t. u8 s. d$ T& o
  57. CC = $8D
    ( d* x2 N4 u$ }1 D5 g/ G$ F
  58. CD = $8E
    ; Q7 `. ^! G$ k7 r/ U3 d# _
  59. CE = $8F+ L1 V9 n; V: |; ?
  60. CF = $902 z' {3 K9 b% n
  61. CG = $91% k$ P; R3 I' F* ^! v5 f& U
  62. CH = $92
    2 Y. q1 l$ Y" a+ B4 G9 ~
  63. CI = $93  O  R+ _) C: x: ~% M6 w
  64. CJ = $94
    - J9 _9 H  s& r$ g! ]
  65. CK = $95. T6 G& G/ `4 p7 j2 W3 L0 {4 J- ~
  66. CL = $96
    % K) D2 }1 l  d0 K3 w0 d) r+ N
  67. CM = $97- s" _- V0 l, r. H+ N+ G: Q1 S, T
  68. CN = $98
    7 S  y* E! x) \& R0 ?8 c
  69. CO = $99
    0 _+ r6 \4 C8 I" [
  70. CP = $9A# R/ j. _/ r/ x/ R0 s
  71. CQ = $9B
    6 F" k# T7 `0 e# {  ~
  72. CR = $9C
    : `6 u7 k% u# g4 T( o; J
  73. CS = $9D6 N  r  |/ w. o
  74. CT = $9E
    ! c% `! `' U! O# I
  75. CU = $9F+ z" e4 x' u% |; u; v' Q1 r8 u
  76. CV = $A0
    7 N% h9 P. X- n
  77. CW = $A1
    ; x. l! z/ g2 G  K1 E1 q
  78. CX = $A23 z  d& M/ H' C3 L
  79. CY = $A3, C8 _" \( r: S7 L& m
  80. CZ = $A4
    6 K5 i( O; Y* j2 L
  81. CEND = $FF( D+ J) E! ]; F; J" ^, p/ I
  82. ) U' y0 {* \. O! u6 W% W% S: @
  83. $ f8 y8 e! |: J4 I6 i; ]+ l' J' m
  84. CMP_RE:( O9 g  C0 p% G' k( S; T" {+ c7 Q
  85. LDA $FF+ q$ v* g2 Y" _- B( O4 D9 k
  86. AND #$7F
    & e3 Y2 O* l1 z
  87. STA $2000
    # G6 w6 q: L8 G# }: V
  88. LDA $2002& [0 J' H9 I: B* S% m
  89. LDA $25& v9 X# b- C- O7 Y0 `! u( k
  90. CMP #$01
    $ n9 t. I  w  ]$ N. u1 b" x
  91. BNE PROREG
    & O0 w: O# ]+ y! i0 _
  92. LDA $F5,X
    4 d5 g1 r6 p+ O/ @" d( n7 L& ~
  93. AND #$CF0 N8 e4 u. _( w" ]- @! ~
  94. BEQ PROREG6 B# v6 a, y9 g$ G4 ^# V0 H" ~
  95. JSR PPU_CMP
    ! ]. h. ]5 S4 J- }- N6 V; n7 K
  96. C_RE:) [& C7 ^/ F: a6 H
  97. RTS9 p, W+ [+ u$ l% x0 `* y
  98. PROREG:, C' B% ?( \! e9 Y/ T( U0 I
  99. PHA
    1 {5 H# [' T0 g& x9 p0 m, H
  100. TXA3 c$ Q$ D3 w3 E; D0 \* Q- k
  101. PHA
    0 q" q2 ^0 g. C
  102. TYA
    % m5 B8 h) x9 Z3 }7 g
  103. PHA/ H% C$ @4 C+ `9 S$ _' {
  104. LDA $25$ y& G- ?& W# g/ ~5 K9 S
  105. CMP #$01
    9 @& l+ K0 k: Z$ Z8 b6 K
  106. BNE RE! G0 n- s# q' U6 u) ?
  107. LDA $010A: {8 I5 P: x0 ^
  108. CMP #$00
    3 h5 j, E1 l; {
  109. BEQ P1, Z# L$ N; n  p$ C8 x+ R; c! j1 H

  110. $ B' R- D2 j: ~: d6 k1 i5 M
  111. RE:
    0 ^9 G7 r) v$ D" V6 p7 b
  112. JMP PPUWRITE  o2 ~) [$ M  h- L3 S8 }8 [
  113. # P; |7 ~; U- t8 ?# M5 b" ?3 y, f$ N
  114. P1:                ; 条件判断9 a2 D) A: }+ D9 L' Z# s* y
  115. LDA $7FFF
    : T) P3 y* ]- l, C" s
  116. CMP #$FF
    $ s1 u6 w: t7 b* }- t1 J
  117. BNE P1RP
    ) ]) N  k# M' q. V
  118. LDA $7FA0! g( \; N+ {$ d/ P1 O
  119. CMP #$00
    ' H3 E% f# T) b# L+ G' @
  120. BNE P1CMP4 o/ M+ g) I7 T# G
  121. LDA #$FF
    ( r- N4 g  |, T$ w3 x/ H/ |! A
  122. STA $7FA0
    * R2 C5 X) [5 S: c! U/ [
  123. JSR CLEANA
    & |2 H' z5 T8 A3 w
  124. JMP PPUWRITE5 f  f# k% B4 v# v" G7 r9 Q
  125. P1CMP:+ b8 c. h- K6 ^% f0 H' @9 @/ `
  126. LDA $7FFF
    # i& r" V: \# I$ M* j
  127. CMP #$00  }: H# P5 n' U1 J. C5 `7 t( r
  128. BNE RE. P* E% Q0 l1 \2 L4 ]% H/ o
  129. P1RP:! z: `6 U  e( U" w+ n* T8 B# M8 M) A0 m& Q
  130. LDA $2002; [, m5 @  O3 h4 t. I
  131. LDA #$00) y! O/ i* X$ N6 l
  132. STA $2001: O. V( f4 ^( |
  133. LDX #$001 E* w  Y# `! u
  134. LDA #$FF, C  ?% z' V; e- v- |0 H
  135. STA $7FFF
    7 w0 A! W6 H5 g, w( r; c0 [/ L
  136. STA $7FA07 ^1 a6 P( Y1 q! _
  137. JSR COPYPPU2 `* i7 G3 `5 b6 r$ A# C
  138. PIRP2:
    8 P& H2 H% x6 v1 q4 v3 L' V! A
  139. JSR CLEANA
    9 N" T2 D& Z9 p  d( J
  140. JMP PPUWRITE
    5 d. \7 ~" h1 N5 H( o$ I

  141. 2 q* @9 D4 W- ~& T' `: W( b
  142. COPYPPU:/ `1 M5 v$ ?+ ?: `- `; F
  143. LDA $FE$ A  ?0 q& l" ]7 N4 f
  144. STA $7F50
    ; O9 b. R0 Q& D1 t
  145. LDA #$08: p. @, a" d+ l6 c; U
  146. STA $FE
    4 n- X  H# p! ~! R
  147. L0:7 B! E9 e0 p% D
  148. LDX #$001 U0 ^# z# Y9 G  \$ W! b* T
  149. COPY_07C0_07DF:" m! V% J$ |+ K, Z- r& Z
  150. LDA $07C0,X% N  T4 v1 X  J# c1 W/ s
  151. STA $7F00,X0 U5 R+ S1 \/ W$ M* q: X
  152. INX
    $ y! }- v7 x5 O9 ^
  153. CPX #$40- `- u# o7 x( ?1 V. B6 t# ^2 ~) C
  154. BCC COPY_07C0_07DF  \- H9 ]1 B/ Y% G  d+ t
  155. LDX #$001 m4 g& K! j7 B; A7 |
  156. PPU_07F4_07F7:5 L, W8 U. l3 Q
  157. LDA #$00
    % ?# Q! I: n3 ?4 l8 p
  158. STA $07F4,X
    3 b% i% |2 n  H; w: h+ i& e% x
  159. INX0 _/ ?! V5 l3 k3 Y& P
  160. CPX #$04. Y, k; ^- u0 H5 J2 |
  161. BCC PPU_07F4_07F7
    8 W! r8 A; F2 x
  162. LDX #$00" S1 _8 O% J& `/ x7 u# D
  163. COLOR:
    ' b4 x4 t; |( \' L" ^
  164. LDA COLOR_DATA,X
    $ S5 U; _$ G' Z' M/ i7 A+ A
  165. STA $07C0,X
    1 d4 c) U1 V8 V5 A. E  J  G
  166. INX% P9 c! [, F$ G7 d( t- J5 ?
  167. CPX #$10
    ! P+ g4 f7 `7 P9 m% G( @
  168. BCC COLOR
    - _# {8 }3 ~: z4 {0 T2 e5 o

  169. 9 ~* n6 i% P& {
  170. PPU_COLOR:
    , H$ [( S# a9 p9 C- @& d. n
  171. LDA #$3F
    6 ~, J  O$ A# f# k; @+ F4 z
  172. STA $20069 v5 v6 Z9 G2 ]$ f" K2 s' e+ y
  173. LDA #$00) e' Q  O  t, q: j" Q& ]
  174. STA $2006
    * n" S7 L3 {0 V
  175. LDX #$00
    ; x1 W& J6 x! y# R
  176. PPU_COLOR_W:3 V7 p1 b5 ?( T, S6 f) F
  177. LDA COLOR_DATA,X
    ) a3 E3 e- {2 L0 s
  178. STA $2007
    0 @! ^9 T3 i" s
  179. INX
    $ t+ a5 d/ R; X) }
  180. CPX #$10
    7 t1 y+ o' G9 @; h$ g# |! ~2 W
  181. BCC PPU_COLOR_W9 U# d3 ]1 \/ E$ F$ {4 \

  182. ' A& U3 c) D/ _8 {: D0 S: \
  183. - _9 g5 }( \/ i* K  u; D1 ~5 D! W2 }
  184. LDX #$00' F, f/ G3 _. `, M, ^, J
  185. LDY #$00( s0 i! j! k; o" d% |
  186. LDA $BD
    : W- m9 U: W! K( G0 R
  187. PHA7 }; b( \# T( W5 o/ T+ W) I% v! H
  188. LDA $BC
    % U# D$ F7 O* j6 `5 L
  189. PHA) Y3 S/ a1 @( M
  190. LDA $BB8 z, x& M/ I! c
  191. PHA
    $ g5 ]7 X. N  ]2 J6 n) z0 A* }
  192. LDA $BA
    # A3 h& y: f1 Y2 @: i; U8 C
  193. PHA" S3 E# }2 k9 W* C
  194. LDA $B9
    . b" x* Y: \; J- D" V; e
  195. PHA
    7 H1 M* S/ o- w0 N
  196. LDA $B8
    ! [: k) \. W' m  {
  197. PHA
    $ q  f+ l; d- i+ {) Q& j
  198. LDA #$006 m" A1 [7 `5 y7 T- ?( d+ U- h
  199. STA $B8
    # I  h2 r0 m7 ^- x1 T4 R
  200. STA $B9+ D3 s* I; h6 A7 e+ p
  201. STA $BA( L. Z1 A( `% C
  202. STA $BB5 I1 D4 c- Y. |8 P7 w
  203. STA $BC6 l. T. B3 T3 Q+ k# Q$ j1 h9 h) q
  204. STA $BD
    7 R2 m3 w7 `* J0 Y
  205. LDA #$00
    / c3 e& Q/ N# w; P4 w/ x0 [5 o& w
  206. STA $BA
    . ^! Y% h; i7 b- S2 ?4 V! W) p
  207. LDA #$20  `% ]1 r- l7 s- u! M* W, _
  208. STA $BB" l: \- z5 ?$ b0 j; d1 E' m$ a& K
  209. LDA #$00
    ) ^3 i% g( T1 r
  210. STA $BC
    " X  ?+ v! K) @! [* a* _4 L6 ~
  211. LDA #$60
    5 H' [1 b- T7 s! X" }/ l8 r9 G* q, i
  212. STA $BD& D5 \# e2 e3 @2 H2 c
  213. 4 b3 k  C/ C1 l! |# u
  214. L1:                ; PPU复制
    8 Q- v1 T" H& P, v' W
  215. LDA $BB2 {4 f& Z5 N" o% k
  216. CMP #$28
    & A% P. t+ [2 W
  217. BNE L2" c) m& k6 e" y! \# p5 ^
  218. LDA $BA
    & b5 x2 l6 [$ n
  219. CMP #$00
    0 I* @& z! v0 F9 ?) T3 B* i! S. n: H
  220. BEQ PROADPLA
    + t  B! m) D7 @( \) \
  221. 2 D. r) I. b9 f4 N3 m& F' I
  222. L2:
    3 M  l% q/ v* i$ U
  223. LDA $BB3 a- I0 K; D1 q% n1 P# D/ ~/ }4 y
  224. STA $20062 w! J7 v! b+ R
  225. LDA $BA! H3 @3 n9 [- A
  226. STA $2006' s! f5 ^- Z8 @5 c0 X1 k; Q. J% }2 R
  227. ; [8 y; x: a* l9 g$ G
  228. L3:) n, x2 R! t& J. W
  229. LDA $20079 T1 I. f0 B2 o9 ^( v
  230. LDA $2007
    ' f4 C& e0 D: [/ p
  231. STA ($BC),Y  ]; y8 H# c7 G

  232. , o- s2 a$ D; O% F. r! e0 C
  233. L4:. ?9 Z  R' ]9 V# Z* D
  234. LDA #$001 N5 B" ~: V2 o( L
  235. STA $20005 l/ B* G) \" ]; ^2 P; A9 Y
  236. INX1 d  j' |; Z( g7 a) [- |$ T
  237. INC $BA2 g( j% j* W6 f0 a0 g& B! ]
  238. INC $BC
    . B9 }6 E. Y8 B) U" M2 @! P
  239. CPX #$00
    6 N4 B8 J9 N% w3 A6 i* k
  240. BNE L15 s: b6 m4 ~8 e* T; i  r
  241. INC $BB4 y2 v9 Y( _' D" U
  242. INC $BD
    : k4 i' E, U! Q
  243. JMP L1
    : j( X8 `% Q# d0 N- ?8 t- m
  244. 1 {! A  m. q/ x
  245. PROADPLA:                ;出栈/ V# u, v' f$ b9 q8 D
  246. PLA
    , U- m  ]6 ]$ q- L8 O
  247. STA $B8( z) q8 ?6 s4 [4 @; I
  248. PLA
    + I8 q8 ?( S/ ?+ z
  249. STA $B9
      q0 I0 ]5 T( g( z/ Y0 v4 H
  250. PLA
    + G5 @) u. Z2 [$ s) G3 z* \
  251. STA $BA
    ! Q( G* ]3 f2 U* X+ R1 S2 V4 m- m
  252. PLA
    . x1 m" s  G9 U5 |2 b6 K2 l2 ~
  253. STA $BB; y* b+ F" J2 ~: E7 `8 A/ A3 b
  254. PLA
    9 s! T7 p" L* ^' q* F; r' b0 ~
  255. STA $BC
    1 e" a6 X+ w1 ?( B( P  n
  256. PLA9 w  J& v1 M" I" ~5 n2 [; [# \
  257. STA $BD: q$ b; w( g# p0 \+ {* C$ D2 @6 m
  258. CPRE:
    6 j* G* C) Z% ?: W4 H# E! c
  259. RTS
    ( }9 w$ z) w" Z% |) n
  260. - ^9 b! K0 t6 f! d. Y9 y
  261. CLEANA:                ; PPU清空, L# S) g. A& {: _6 f
  262. LDA $BD
    & g6 s9 ?& O" N0 A3 `
  263. PHA
    , [) o/ `3 h2 t. h) I
  264. LDA $BC
    - g3 g* P4 z7 R- k' b0 A% G
  265. PHA8 t/ L! W! _) h' U; S
  266. LDA $BB
    & j6 ~- ?+ Y+ H5 h1 a6 t
  267. PHA
      a* R1 u: m7 i# w0 v
  268. LDA $BA
    2 d+ t6 v5 B7 d) m
  269. PHA/ R4 U1 d8 q8 K: \
  270. LDA $B9
    ! T7 `1 U/ f: |& k/ X6 z
  271. PHA& [, {* J4 ?( d, Z, G
  272. LDA $B8
    % N- M4 A2 I' ~6 x  M
  273. PHA0 x( o. G1 L1 L# _. _8 v
  274. LDA #$00
    ; @& z& C6 T$ o8 y) e
  275. STA $B8( [+ O+ ^4 h0 ?
  276. STA $B9: P& B$ c. Z8 q$ \6 |/ ?9 U
  277. STA $BA$ i9 f. b! N  ~: R: Z
  278. STA $BB
    / a% w$ @' i1 E% D9 P1 O" b
  279. STA $BC! J9 r! R4 w! D) S  D) s
  280. STA $BD
      f" T- W- E" l& {8 B4 ^
  281. STA $2001% o. X. s, s* Q
  282. LDX #$00% z7 M- K$ `6 L/ b, `& k3 r
  283. LDY #$00
    ( @) @6 H/ r5 g, t3 h5 q
  284. LDA #$00
    6 U8 l' V& `0 u+ Z; p
  285. STA $BA
    # ~5 D/ r' s- p  y
  286. LDA #$20. ~- N8 E* Z" v
  287. STA $BB
    ) h- E# p! U, \, ]
  288. 8 D& _$ ], @: R1 O( @
  289. CL1:
    9 t# K# J) T* A: y3 [6 I
  290. LDA $BB/ m/ p6 n; L( p9 h% t( |
  291. CMP #$28
    7 }! G" S3 e, d# |
  292. BNE CL28 d7 U2 e& \- x1 o1 x
  293. LDA $BA
    - H( B. x6 R% X5 j  b
  294. CMP #$001 s$ R) a, A9 n/ V
  295. BEQ FREEWRIYE
    ! U% i& R. g2 a5 k3 @( }8 f( U1 e" y
  296. . s& K: O. P( X9 z, \& H- i
  297. CL2:
    ! e7 Y2 B/ V: b5 X* M" V, f
  298. LDA $BB
    0 a" [* C' E. ?9 _% ]9 Z
  299. STA $2006
    2 d4 @- m% r5 j& C8 K! g! W
  300. LDA $BA( D6 o1 `2 D- e- k6 @: r1 V, [
  301. STA $2006, P$ z6 }- ]& v( z$ b8 O) P% k/ Y

  302. 1 j* r5 w" W- {' |/ s2 D( y# z/ P
  303. CL3:
    3 N) j  @3 d- p% U  R
  304. LDA #$00$ l% P. b9 v1 _/ P4 _
  305. STA $2007$ u' R' W) r% l  ?
  306. ) ?1 m+ R- U2 j
  307. CL4:5 _2 l/ d8 T0 `  X
  308. LDA #$00
    . j7 C2 ~" P0 q( ^, [, f2 y
  309. STA $2000
      L; T9 X! a; Y7 a$ _% u
  310. INX
    1 z+ {3 |( n1 f) B# a
  311. INC $BA. j3 {' U/ L: _5 y
  312. CPX #$00
    0 ~& L( a" Q5 u! m- u1 M! h
  313. BNE CL12 e' N1 O3 ^9 G" P3 v
  314. INC $BB
      c0 P% J% }* {4 M9 ]8 P
  315. JMP CL1 5 T9 S4 f5 i+ d+ A2 g/ {; I& B
  316. 9 D; B8 p1 S/ p6 A7 p, R

  317. $ s% h; M# p; E$ _: {# y: c0 c6 B: g
  318. FREEWRIYE:
      K( b3 f/ G! j+ s5 d( g5 k
  319. : S% j! B) j% X6 m; s
  320. NOP) I; ~4 T( A% f% S/ ]& C
  321. ; ~- \3 r6 b6 C9 T
  322. 2 P+ Q0 r% |9 p; A0 `: i( s

  323. . T7 P% e. f: t: _' T0 I
  324. ( ]4 u, D  \  r7 ?
  325. - @. d$ b% p, R. y& e  b: q
  326. CLEANF:                ; 恢复现场
    ( T' T3 w  N4 `  l0 ]0 M  _0 t3 c
  327. ) Z& h# N' ]5 `+ Q
  328. PLA
      ~- [, n: U3 B2 J! l+ m  h4 q$ b/ l
  329. STA $B8' `& U6 Y* B& _3 f% ~7 k* B
  330. PLA
    & i' L$ W, N8 P" t0 n% q" m; `4 @) j
  331. STA $B9+ L& W) d8 l8 W
  332. PLA/ }# T3 h- z! R
  333. STA $BA# j# D5 P! X+ {# ^( {) l/ n
  334. PLA
    1 d+ P1 k- A9 _  [* A
  335. STA $BB
    . b, z  m- S4 K5 z* F
  336. PLA2 l- X; k9 E3 z. e1 ?$ [0 a
  337. STA $BC' ~( S7 ?5 j# D7 \
  338. PLA  T4 E  U2 @6 J! Q8 k# V
  339. STA $BD
    6 ]$ \/ B2 V4 Z5 A( p) z' t6 p5 U
  340. CLRF:) p2 I, i( X! s& ?5 l: ?
  341. JSR FREE_PPU
    ' K. _# p: {0 \+ Y7 l- Q
  342. RTS' U5 t8 s% G# e) O7 j

  343. 3 Z! ~1 \( ?% n$ |
  344. " Q6 P3 b  n/ W, c
  345. PPUWRITE:    ;PPU写回
    * o* x4 T' P2 w  n4 m
  346. PLA
    ' ?. z4 U5 l! c' @7 e
  347. TAY
    3 d, \+ [9 @/ p. L% F/ f
  348. PLA; t' |- W+ Z/ }  Z  {8 }+ D# s
  349. TAX- S0 \7 {3 Q! f
  350. PLA3 q+ N0 A- q: e) q6 O" ?$ t
  351. LDA $25, }/ }% |' g& D7 P2 h$ w- f
  352. CMP #$00! r3 C  l+ b, O1 r* F& `
  353. BEQ WP1  g! L8 `- O- B9 O
  354. LDA $25
    ) m- a! v2 X) h' q; ?; m, q
  355. CMP #$012 M2 \  W1 h4 l" z6 t- e7 l
  356. BNE WRE
    . _, E# z+ ^7 k9 ^- n: Y$ \
  357. LDA $F5,X
    0 s  \# T4 e% ^* s5 R6 r( C2 n: X; y; J
  358. AND #$EF
    " d$ s9 B% Z7 d: D( k
  359. BEQ WRE
    6 {+ N. s2 w) \5 X& |/ A
  360. LDA #$00
    # i& [: d" K( d$ h
  361. STA $7FA0  y( {8 |" y' Z

  362. % t( M; I! u/ ?2 s' ~- f
  363. WRE:
      U& ~0 h( D7 _7 d3 q+ l
  364. RTS7 e& @, K; c1 }7 h" A" S* c6 @
  365. 6 f( J( k; {2 ^# X" }# |
  366. WP1:
    7 m" R9 k, C- j8 U  [2 f
  367. LDA $7FFF( c8 r& K$ R1 T
  368. CMP #$FF. g9 [- H6 Q, s+ B
  369. BNE WRE
    6 E! P2 l% M, n4 X, p4 _  [: \
  370. LDA #$00& @  Z$ N/ ~5 p. X3 u
  371. STA $20012 k7 h; h  W& X  M/ g
  372. LDA $BD
    . q  e2 r1 w" b3 ]7 b
  373. PHA8 j$ C# A5 Z& @0 y* S  ]% O
  374. LDA $BC
    0 V1 u+ h2 {, k) b1 x
  375. PHA4 B! f0 u% M* Y2 R
  376. LDA $BB/ V% o" Q/ C8 W4 t+ M8 D1 M
  377. PHA: E2 j/ N# ?8 O  Z+ B
  378. LDA $BA
    / T6 O/ ^5 Y% x% h
  379. PHA  v' ^+ I: H( s' M+ x! J
  380. LDA $B9
    ' a+ s6 s7 F& Z7 s1 K  t
  381. PHA3 w7 r6 g1 d1 S% Y3 m8 J
  382. LDA $B8
    1 n+ ~8 H: Q  v) C& ^
  383. PHA
    ) T/ G( v- W3 B
  384. LDA #$00
    & G+ W! @0 _" z& l
  385. STA $B8
    7 v$ U  d. C  ?8 U4 c
  386. STA $B9
    5 x6 g7 A4 i& N3 G; a  A
  387. STA $BA! M% M/ a* {' S2 `
  388. STA $BB
    % l3 r! Y8 j7 [: Q5 }( I# \' B5 Q# O
  389. STA $BC
    : N: T% E5 a7 i+ \- E+ l
  390. STA $BD6 |5 Q4 I& }& n2 E5 h
  391. LDA #$009 d7 |0 s& Y' w2 F! E: A
  392. STA $7FFF
    6 X& o/ i) h) R: A! j. K

  393. ' V! Z! X1 j5 Y3 `3 X) }# q8 ]
  394. WL0:7 Q% L- y' V* l
  395. LDX #$001 m3 b  c: \2 B8 s
  396. LDY #$00
    6 V3 a& T8 m8 w. V7 \5 f3 w. f
  397. LDA #$00# S) O7 ~# [; Y
  398. STA $BA
    7 x+ t# k0 F' t) C1 h- U
  399. LDA #$20" A1 s6 L. s6 r* L: L) e
  400. STA $BB
    6 N* ]2 F; f) t9 m" H' k
  401. LDA #$00" l% J$ e& `4 `, u' y' o( m( @
  402. STA $BC9 y* E! j$ L0 K
  403. LDA #$60
    2 F$ x! v) P  s' y3 g1 A
  404. STA $BD/ h$ J, F; u) s, ]

  405. 6 h( _) S" g- r3 A
  406. WL1:' b2 C& i! a% g+ m3 t
  407. LDA $BD
    ' g- Y: w- d0 x: D9 I* {9 i
  408. CMP #$68
    , T6 `3 C' l8 A8 Y, ?
  409. BNE WL2
    . k' a$ m; ?9 s# o% L
  410. LDA $BC8 T! C- K* Q% k
  411. CMP #$00
    & H  y7 k9 d; J& J
  412. BEQ WLR
      y4 ^  o, E" y- C' |- A% J* b

  413. 6 k3 \- L+ N3 w* @
  414. WL2:9 X1 N- h  \& a: \( k5 G/ K6 r2 W
  415. LDA $BD
    7 ]( r- s6 v9 P) T$ c* r# @1 a
  416. STA $2006  M% A9 i5 x- N0 d
  417. LDA $BC
      q, W7 p: E! L
  418. STA $2006
    : h) u1 i% j: ~

  419. ( G3 E) Z4 y# I+ i* A) l; E  C
  420. WL3:
    2 J- U0 P4 s. a" i& }( v1 T1 d
  421. LDA ($BC),Y
      Q( Q6 G9 _; V4 @- b
  422. STA $2007
    5 f7 v  f$ ^; s/ K. c# W$ r
  423. 2 s- A- D' X' z" i' @+ [5 d
  424. WL4:% k) V4 R2 T3 E8 K8 |! C1 A
  425. LDA #$00
    ! u0 N* A% A" z8 s& R
  426. STA $2000
    1 G: w8 \; @0 z1 U9 L) ~9 H
  427. INX' x0 |1 @3 y+ t& e' `* y+ A
  428. INC $BA
    $ r* @) l* u& t7 z" ]/ U$ ~( M- y! T
  429. INC $BC
    9 w% b" ?$ l  H0 r  Q- q
  430. CPX #$00
    5 r7 }5 {4 R1 q1 @" L$ X
  431. BNE WL1, G% U2 |6 R! ^
  432. INC $BB7 t& T0 A8 @, u7 g" [+ w
  433. INC $BD
    & _5 w4 W2 J( Q/ w0 [4 F" l
  434. JMP WL1
    , W  q3 T0 m5 X

  435. + v) `' H7 X. p/ k0 s  M
  436. WLR:
    - B6 G: }" ~: [
  437. LDX #$00+ v4 d6 w, Y* L
  438. COPY_7F00_7F3F:* e$ N3 j/ M# O; I; Y
  439. LDA $7F00,X
    * y+ _7 y0 Y% M0 f
  440. STA $07C0,X
    8 g8 l6 [0 S+ W
  441. INX
    0 y  C8 [/ K- O5 C) H
  442. CPX #$40
    ( r) p; u. B# V( w1 h* `( R7 p- H
  443. BCC COPY_7F00_7F3F
    " B; R+ o* Y! F1 e( b. j

  444. / [- L' X# F/ b5 f  U5 I$ c# \
  445. LDX #$00
    9 m0 _% ~- K9 F* d
  446. LDA #$3F
    2 z5 c, Q6 e) Z( [
  447. STA $20062 ^2 o8 d$ ^" c$ h
  448. LDA #$00
    2 D2 F7 m% {9 i, c8 D% K  F; _
  449. STA $2006: T1 ^/ y+ l( S1 X# R
  450. COPY_7F00_7F10:
    7 q1 H, R& F/ J  ?; M+ s  S- S
  451. LDA $7C0,X% B6 ], @4 c9 G/ n2 }3 ?
  452. STA $2007
    ) h7 L: I; y8 n- V0 D
  453. INX/ G7 o8 c/ S1 l$ F6 Z! x! |
  454. CPX #$10
    ( F; P4 {% D- c7 e5 R
  455. BCC COPY_7F00_7F10
    # G4 Z! ~3 |1 F8 E
  456. " ?' z! V7 k9 F! Z) n9 w  i
  457. LDA $2002
    & W1 O' {$ ?0 n! f) z/ d
  458. LDA $FD4 c0 X8 d4 P9 z# i+ ]3 D
  459. STA $20050 ]5 M+ e$ }6 Y
  460. LDA $FC% u& Z" {9 f  T4 q3 M. V: i
  461. STA $20052 K  n4 K# n1 y' u( H! `

  462. 4 `7 W5 d: t' [2 T% w
  463. LDA $7F50; z' _/ u  j; J' g
  464. STA $FE
    ) G6 Y7 F) X& e" d7 J: ~
  465. LDA #$00
    + ~# @2 y; P# e; k
  466. STA $2000" l2 o* \' R" X0 ~  C; Z; |) l
  467. PLA
    8 R$ v8 [! j" H6 N
  468. STA $B8
    2 E7 a& K2 X5 o$ L
  469. PLA
    * l+ A& a% E. j/ Y4 i% r
  470. STA $B9; x0 r1 j( m! g/ r+ k/ Q/ V, \
  471. PLA
    - c8 k9 P6 M( K
  472. STA $BA; W: M& \3 f( j9 Q
  473. PLA
      x) S4 x# V* U) @! S
  474. STA $BB/ H/ Z% ?5 L' z8 V: a+ k! T/ [
  475. PLA
    1 L) K3 [+ e. f& g/ V2 h
  476. STA $BC
    9 t  Y6 L5 n9 L! f" h
  477. PLA
    . L0 u. Z2 `7 r  H3 N9 s
  478. STA $BD$ z" S4 v$ G. {* @) I

  479. 5 M4 J) h/ C6 g* W9 ~9 J  ?; o
  480. RTS* K" @8 y* E' m
  481. . V* K- d/ }# p8 z, u. ~  p
  482. PPU_CMP:5 l% G' d( u- w  {5 q. k) J

  483. 0 f0 S$ M5 b0 Z% |: d# u4 z, |: q
  484. + ?6 S, s) P- o% [& y
  485. PPURE:4 }% f/ X4 X0 V" s5 \" V7 d/ z- E
  486. RTS( L3 \% f" F) M% f6 H1 F7 ?# F. t
  487.   Q+ \" [+ B/ _

  488. & b* n: Y- H) H9 g
  489. FREE_PPU:
    ! p9 q( m1 x) R& `8 e' D' l
  490. - R2 \: V) H6 O+ M+ R
  491. JSR TEXT01_PPU
    - f! W: D9 z$ K
  492. JSR $CBC0
    1 N3 Y" m# ?7 H* n
  493. JSR P1_PPU
    3 r2 w0 ?3 W9 g+ ~2 f+ z
  494. JSR P2_PPU; h. y3 g0 w+ j2 Z
  495. RTS
    6 R  I. _/ t: }

  496. # E- m" S, U" f; g7 B, O
  497. TEXT01_ADDR:
    / n- p3 h( }) m5 {
  498. .BYTE $20,$424 u: [) x/ T0 M" d, H' e8 B
  499. TEXT01_DATA:
    & g" [9 ^5 K; g8 r- ~
  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
    $ R2 |" q3 X- F2 f
  501. TEXT01_PPU
    / T- I6 j8 W* ]3 |2 a
  502. LDX #$00
    2 {6 h$ F, r9 Y) [& E/ j( R4 F% T  }
  503. LDA TEXT01_ADDR% }" K+ i0 k; r# ^2 L8 h3 _
  504. STA $0703
    ( b2 P& a; g: l9 ]
  505. INX$ T0 |+ S9 `* r: ~5 w* K* q
  506. LDA TEXT01_ADDR,X2 @5 j7 l9 U* k2 O& L( g! p) z$ ~
  507. STA $0704# }& ]% k9 z4 @, v
  508. JSR PPU_PROCESS' p6 T: q* r9 d& M4 h9 p1 Y( D2 n6 y
  509. TEXT01_W:
    . C& k0 E/ j! W0 A
  510. LDA TEXT01_DATA,X, H' w0 m/ R! V! S+ r! p% N8 F
  511. CMP #CEND
    , O7 J: X7 d' s8 a
  512. BEQ TEXT01_START
    " {. K8 R% j7 h) @1 C/ `' o7 ~: f
  513. STA $0705,X
    ; p8 c8 M& P# k
  514. INX
    - f* y9 I& L7 O& g3 H# M9 m
  515. LDA #$00
    ) d/ U% ^3 H& c5 j, w7 s
  516. BEQ TEXT01_W& @2 J  K( \$ W6 x, e3 E$ a, |% x
  517. TEXT01_START:
    - x) q/ _" h. L# I+ o( o
  518. JSR PPU_START2 f1 K/ i3 ]4 ^* ?
  519. RTS0 r% u9 v1 g  M# X( M

  520. 6 C& \  g8 W9 N

  521. " R9 V2 W9 @. d1 [: V0 H; a! a
  522. COLOR_DATA:
    ) ?& m7 E& k, |  e( ?
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    ; W+ U. q3 o3 |2 p

  524. " o2 k: n8 Q6 T3 x
  525. P1_PPU:
    7 C) W  x- d6 V" K) B
  526. JSR PLAYER_01_PPU
    / H5 Y+ J0 c* V  t9 b# C7 u, X
  527. JSR $CBC0
    , B& x3 q" M' Z/ K
  528. JSR RELIFE_P1_PPU+ p# m" {4 ~8 ]9 M, y4 y
  529. JSR $CBC0
    ! t7 F0 z) ~. _  N
  530. JSR RELIFE_NUMBER_P1_PPU
    6 e2 Y. i( K" ]  m# R  m  t
  531. JSR $CBC0
    ; F) L+ h/ p& `" S
  532. JSR WEAPON_P1_PPU
    # r" j$ r: Z  M  W  l( r* z& `
  533. JSR $CBC0) c1 g* z4 `$ n/ v) s
  534. JSR BULLETPPU_P1_PPU
    ; @8 r  t! v2 D, ]* G6 N
  535. JSR $CBC0* ^' W) e) U; ^& R4 N7 v4 V0 [6 W: b
  536. RTS
    7 C) U4 }1 ^, a" D, k- G
  537. & [+ ~6 x4 ]9 o: |$ @7 B
  538. P2_PPU:- J8 d% h. }3 T
  539. JSR PLAYER_02_PPU
    + |- d3 U; s2 t/ ^2 H
  540. JSR $CBC06 i" Z% [4 D; j- X- ~3 o# r( D1 R( I& `
  541. JSR RELIFE_P2_PPU, L% X$ c6 U/ Q8 z$ Y
  542. JSR $CBC0$ C0 Z1 R7 {+ J0 X$ F
  543. JSR RELIFE_NUMBER_P2_PPU
    # u1 n8 t0 x7 f! a  `3 x
  544. JSR $CBC0- c( D$ g* ~2 Y. B3 K& W2 z5 n
  545. JSR WEAPON_P2_PPU2 b/ C) s2 P* x5 ]. T% T' Q
  546. JSR $CBC02 W6 h8 D$ P3 }' B. R& @
  547. JSR BULLETPPU_P2_PPU
    4 `% R# C. W  ?7 f: D) u
  548. JSR $CBC0
      }& R9 o( H- [/ h
  549. RTS0 x7 W' `8 R0 Y& v. Z4 Q
  550. 4 o1 }, m7 J( x2 r( k: ^; A
  551. / E# s- h3 B( u, j% J0 h
  552. - ^4 q. N4 x! b9 \! y
  553. PLAYER_01_ADDR:
    3 P$ c+ r0 w+ P
  554. .BYTE $20,$A33 E7 J4 Z- }0 p% e( s; I
  555. PLAYER_01_DATA:" g$ ^- p8 Y$ y. U3 f* I7 Q2 M
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND/ m' ?5 p2 M, A9 x% W7 V
  557. PLAYER_01_PPU:. B3 A4 p0 n5 F9 ]/ S
  558. LDX #$00
    $ H3 x$ [# j, K2 T- [
  559. LDA PLAYER_01_ADDR" |) g( y& @9 ]' k. D
  560. STA $0703
    2 Z( b  l. K! f4 Z0 k
  561. INX
    ' c' J  r8 Q- P( w2 u, x$ ~/ E  V
  562. LDA PLAYER_01_ADDR,X
    + ]7 x* U+ s3 g: G$ T" z3 k. P
  563. STA $0704
    * b. {2 P1 Q& B# h# y5 V% ]; w
  564. JSR PPU_PROCESS' j- w$ A/ [4 ~  v8 |
  565. PLAYER_01_W:
    ; J# [9 a- a7 m; Z3 Z! B7 ]
  566. LDA PLAYER_01_DATA,X
    5 t1 \* J- ~7 v2 l
  567. CMP #CEND
    " g% {9 {  R. j
  568. BEQ PLAYER_01_START
    8 Z- C- q* \) p% u1 ]1 L/ B
  569. STA $0705,X! i' \# S- ^6 H8 L& \
  570. INX# p5 c9 L( ?! S/ H
  571. LDA #$00& u! e" [3 t+ H: C; m( u) E
  572. BEQ PLAYER_01_W
    ( f( a% f' x6 E% v/ e& j
  573. PLAYER_01_START:
    " S4 ]" d; T3 A
  574. JSR PPU_START
    7 v% g3 z* b, P/ q  W8 f0 d( ]
  575. RTS1 L- ]' k7 W' y7 f. b
  576. ; s# }2 m/ {  _) [' y

  577. % E! F  W. `1 a8 |" s
  578. RELIFE_P1_ADDR:
      i  v6 u) b8 D% q, _
  579. .BYTE $20,$E3( j6 F9 K5 o7 Z* D
  580. RELIFE_P1_DATA:$ T1 U- s3 s8 ^' F/ n  W" I# f  j
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND0 z* C, X: v/ X+ M+ B, X8 _$ E, P% n
  582. RELIFE_P1_PPU:
    & j- U3 p2 k( c, S. S8 t  P
  583. LDX #$00. b  J6 f' r8 f
  584. LDA RELIFE_P1_ADDR
    ( u3 W+ |/ f* W; z6 @
  585. STA $0703, o0 K) m: b  |+ w6 z/ R3 @( k; y- S
  586. INX
    3 h) V% I9 z0 ?2 Z  ^# J2 e( @
  587. LDA RELIFE_P1_ADDR,X
    6 _, M# J3 n. c# k
  588. STA $0704* z% G$ Z7 ^+ f5 ]: c9 L
  589. JSR PPU_PROCESS( p" ]; C! r. `' a+ V! i, W
  590. RELIFE_P1_W:
    % s* D+ C" x- r2 G& ]
  591. LDA RELIFE_P1_DATA,X
    . t1 m& f4 E' I- y
  592. CMP #CEND8 `% s9 ?- n, L
  593. BEQ RELIFE_P1_START
    ( b& ]; B$ m$ J
  594. STA $0705,X
    , m+ ]# z5 e1 V2 \; l
  595. INX
    " m9 p5 U5 \. \7 ^7 z9 W
  596. LDA #$00
    0 ~$ S  h% [, h2 o0 w2 r4 {
  597. BEQ RELIFE_P1_W7 Z0 U- p- Z2 G9 s  N  |
  598. RELIFE_P1_START:
    + Y2 O4 e3 m# C/ O1 ~- x
  599. JSR PPU_START
    + j% T9 X+ U" L8 F5 n# f) A7 S$ g
  600. RTS/ Y6 z6 t3 r7 i+ |4 a

  601. / u7 t% l* p5 {3 _$ d6 l- w9 l

  602. 7 B# |1 [7 i% E
  603. RELIFE_NUMBER_P1_ADDR:
    $ R4 a* K3 L* Q* W3 w: @3 }* q
  604. .BYTE $20,$EA
      F  @+ }, `0 S; w8 {
  605. RELIFE_NUMBER_P1_PPU:
    5 r. W5 B7 [, F" u* m
  606. LDX #$00
    8 z5 Y! T2 {3 P$ M4 G% _
  607. LDA RELIFE_NUMBER_P1_ADDR
    - h# Q7 ?" R$ {' {$ f
  608. STA $0703- a% z9 J+ o, g* ]* d. @
  609. INX
    % ]7 e, a& U: G+ R0 f
  610. LDA RELIFE_NUMBER_P1_ADDR,X% T% q7 I' r! M# h4 E
  611. STA $0704
    ) j( M) ^0 N# B' f, c" [3 I
  612. JSR PPU_PROCESS: @/ d. c" ~8 D; Q) w
  613. LDA $32. j, n& U3 ~4 N0 ]; i
  614. JSR LIFETODEC0 T6 C- ^3 m9 Z8 B: r
  615. RELIFE_NUMBER_P1_W:$ ^' d: T& J! u/ R% Q0 {! U2 l
  616. LDA $7A03
    + {7 e3 `9 Y6 A/ H- [' X& _
  617. STA $0705* R) K9 d( F2 O5 m! z
  618. INC $0705
      e" R7 x$ G3 s2 Y" u! t! n
  619. LDA $7A041 O# _* p- G) s/ i) ?4 ^1 ]* x+ _
  620. STA $0706( i& d  X! x8 Z! w$ R6 S5 y; S" c
  621. INC $07062 V/ J5 S5 f5 Q' Z3 V/ K/ J8 r
  622. LDA $7A05
    3 e( n$ P" h, B: E
  623. STA $0707
    5 u$ x5 k8 n2 h: y/ m: s
  624. INC $0707
    ! Z% @$ u2 h0 B% N: S3 q, L2 L
  625. LDX #$03
    * \+ g8 s+ B) _7 E8 E
  626. RELIFE_NUMBER_P1_START:( J" `3 Q$ s. H
  627. JSR PPU_START6 \* ~$ t" Q$ D1 V6 f
  628. RTS2 m( T6 y3 {+ Z6 d& n1 b2 F
  629. & J7 d, i+ y2 s6 Z" i
  630. WEAPON_P1_ADDR:
    ; H- Q, `0 A0 A3 U
  631. .BYTE $21,$23
    2 _: E! V2 N! c% {
  632. WEAPON_P1_DATA:6 Z( @' j$ a- j% I  a
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND
    7 P1 s. [: w5 X3 N/ F0 z
  634. WEAPON_P1_PPU:2 R5 U" u3 ?6 ~
  635. LDX #$00/ _4 c: ~" ?& s. v. A" H
  636. LDA WEAPON_P1_ADDR/ d) D: L% Y3 ?- G& P/ x' Z
  637. STA $0703; V' n! z7 p7 R0 k6 u) S
  638. INX) A. M" S% r- k3 q% z7 i
  639. LDA WEAPON_P1_ADDR,X
    8 a1 {( Q  ?6 l: Q( f! v0 u
  640. STA $0704& v2 P: o5 p$ ^( P- u7 @
  641. JSR PPU_PROCESS1 x) `, K+ S* R1 c1 p+ |
  642. WEAPON_P1_W:
    8 B6 n! q, b; c9 d% {; s& U. c
  643. LDA WEAPON_P1_DATA,X
    : i4 l) N+ \7 d6 Z' C; {  u1 Y
  644. CMP #CEND' Y" t7 ~+ |, ^* n
  645. BEQ WEAPON_P1_START1 K& }9 N0 z0 K( s2 Z
  646. STA $0705,X+ d, k7 \1 g6 P8 R7 g( [2 X
  647. INX
    : U& J% V7 g* g. D) g
  648. LDA #$00
    $ I/ b. j* J. x8 Y8 E
  649. BEQ WEAPON_P1_W0 t& U: }. k! n( j
  650. WEAPON_P1_START:
    ) E( j" X  ~, a" j2 c, t
  651. JSR PPU_START
    " Y9 _0 d& ~; D$ P9 \$ ?, _. J# F
  652. RTS) X7 V& N# r2 |6 }4 k0 Y8 h: \
  653. 8 K9 @+ T( Q/ [. }+ b8 J+ F
  654. BULLET_P1_ADDR:
    8 |0 c' w. @* z: f
  655. .BYTE $21,$2A( m; f6 P$ Y# T6 F9 {
  656. BULLET_P1_DATA:
    8 _2 A( ~) |# ]! U# f
  657. .BYTE $00,$01,$02,$03,$045 [+ d1 D5 m! a: v) F' Q& W
  658. BULLET_P1_NAME:
    7 x0 u" ~6 L6 z4 H1 p, r. ?* w- U
  659. .BYTE CN,CM,CF,CS,CL
      E; U% q0 f3 ~8 b
  660. ' M* D  f) l9 e; d
  661. BULLETPPU_P1_PPU:
    : {; S- X0 ^4 c2 L
  662. LDX #$00
    ! y+ E  T" x% [# J( B3 b: I
  663. LDA BULLET_P1_ADDR
    * S2 w  ?1 _! E  X  T$ F
  664. STA $0703% |/ `' n, r4 H6 A- g
  665. INX
    4 s9 R# [) V2 j" }% M1 g, _, Z& V
  666. LDA BULLET_P1_ADDR,X
    % ~& q5 O, l6 z1 H) v0 ~: a6 ]
  667. STA $0704; K1 c# Z  S& _1 Z1 l
  668. JSR PPU_PROCESS, E: s/ v" I# h" x3 O! y( G
  669. BULLET_P1_WRITE:
    " C* ~9 @/ P; U6 R/ T
  670. LDX #$00
    & k1 ?3 j* Q/ A5 e7 C3 Q
  671. LDA $AA6 `( U3 d6 V: e5 P  v# Q* `0 S
  672. AND #$10% ]; a$ T  D5 X: V8 G
  673. BEQ C_BULLET_P1
    " v% m, W1 M* Z, v7 \
  674. LDA #CS! W0 U4 W% e8 f" x+ l
  675. STA $0705# I; P8 x8 X- q# {& h
  676. BNE B_NAME_P1/ t) ~/ f) p0 q! L8 B+ U; z. n. Q
  677. C_BULLET_P1:% G& M1 h, j, e( |
  678. LDA #CC
    # Y7 K$ g& L: n0 e$ u
  679. STA $0705
    9 m6 N1 _' \+ ]
  680. B_NAME_P1:+ |, T7 p0 u& w) [( a3 O
  681. LDA $AA
    2 S4 B# i- n: t
  682. AND #$0F$ @8 F, |: c5 X% @" v
  683. CMP BULLET_P1_DATA,X8 `* e  E! w/ ?1 H. V
  684. BNE B_NAME_P1_RECMP3 {7 i8 T; C) X# T, m! ^! j8 o
  685. LDA BULLET_P1_NAME,X1 B" ~7 ?3 S6 T2 o3 M7 r
  686. STA $0706/ h$ C0 Q$ G7 C0 D. ]3 {: o+ L
  687. B_NAME_P1_RECMP
    ( M( E: T* V5 i, s
  688. INX" y1 W; x7 A2 x1 F6 e5 n" b
  689. CPX #$05
    7 \; s$ p' z3 I% k" K9 t
  690. BCC B_NAME_P1" z) c2 W( z- b' Q: F2 G: K" J0 w
  691. LDX #$02
    2 ^0 G7 {/ E& e
  692. JSR PPU_START% o5 |4 `! {2 B9 O
  693. RTS% S/ X0 J9 G% |- B
  694. % D+ p0 G0 @. J* g% |% n& E
  695.   }+ B# N% q7 o! O+ o+ t. c
  696. PLAYER_02_ADDR:# @% `  X( `$ ~) R
  697. .BYTE $20,$B3, V$ b2 Z: r0 V  D. m) v* E- Y
  698. PLAYER_02_DATA:. s3 b/ R/ R. b* u& ~
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    & H8 v# V: ?4 v2 z  |' ^! p  N3 j$ |
  700. PLAYER_02_PPU:
    - W# }! f% V0 Q/ u
  701. LDX #$00
    5 h/ l9 K" T% ]; y( K) n3 N# s5 ^
  702. LDA PLAYER_02_ADDR/ b( j+ g! @1 t
  703. STA $0703% O# g6 v. |+ ?; Y6 c
  704. INX" h  H* b0 \8 j0 U* L' Q$ f, E
  705. LDA PLAYER_02_ADDR,X
    & t5 a, ^5 C' ^: ?" y
  706. STA $0704
    % m  m% X% d8 T3 O; S* n8 l  H8 T
  707. JSR PPU_PROCESS
    , X% M$ \" T9 Y/ b: s  @3 w
  708. PLAYER_02_W:
    8 H  D% B( F  @. Z4 p( P# t& O; x
  709. LDA PLAYER_02_DATA,X3 U9 {7 Y, w8 E: h/ V
  710. CMP #CEND
    6 A% ?$ a/ Q5 ~! b9 n& {
  711. BEQ PLAYER_02_START
    , G6 @1 p6 p! P6 h, I5 d- j4 N
  712. STA $0705,X
    ! \* X1 p4 \- H  t5 w
  713. INX
    ) ]) J4 P( P0 L0 {7 J0 ]3 [
  714. LDA #$00, S" w- x# J' B7 Y
  715. BEQ PLAYER_02_W
    / W$ {  @9 o9 z
  716. PLAYER_02_START:3 k6 a: Y1 ]( n" G/ @
  717. JSR PPU_START
    5 ~! H& Z, z) M6 M
  718. RTS
    ( ~* [+ r$ m  D# Z
  719. 0 ~" o' c& g$ l; N5 u$ _" y

  720. , P" V: ]: x( [! `
  721. RELIFE_P2_ADDR:; q% t0 R( {  x0 e
  722. .BYTE $20,$F3
    . m- l# R1 s/ B& S
  723. RELIFE_P2_DATA:0 b' Q; U' Y  _9 _& P) {
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    / j& u: g( n# U
  725. RELIFE_P2_PPU:
    ! S& ^! P  N$ M
  726. LDX #$00' s8 t" H3 C; X5 _6 E+ r/ b
  727. LDA RELIFE_P2_ADDR
    8 O) I9 c& r( I; \
  728. STA $0703
    # M8 q, G$ q( L+ n
  729. INX
    . Y- M( k. f" h; p
  730. LDA RELIFE_P2_ADDR,X
    9 V# E2 t" i! D8 t+ r
  731. STA $0704; X+ ~# Q% _1 `1 M- ]! _8 U# f
  732. JSR PPU_PROCESS" V$ J5 _, b" T& ^
  733. RELIFE_P2_W:
    . V$ I( B3 [# P
  734. LDA RELIFE_P2_DATA,X! t7 z+ c0 b+ a/ N$ R# ?
  735. CMP #CEND0 ~# P# ^0 X: O2 _4 j4 W
  736. BEQ RELIFE_P2_START$ q! B" r" y/ z5 e
  737. STA $0705,X
    2 e2 T. \! s6 X3 A
  738. INX$ J6 l; m. k' D
  739. LDA #$004 U% B8 g6 C' A
  740. BEQ RELIFE_P2_W+ z3 A# f% j5 t6 s8 g
  741. RELIFE_P2_START:0 `% t" m& t' @9 [, [8 ^
  742. JSR PPU_START6 |0 o5 ~' `/ P/ L7 Z& H  T' i
  743. RTS$ B; H- d* O' {" |

  744. / [" i, [' P; f& `" b: N2 z9 t

  745. - s* ~9 u) v) @
  746. RELIFE_NUMBER_P2_ADDR:
    $ o$ i7 {7 E+ T/ |" d" ~' l
  747. .BYTE $20,$FA
    4 n' D, P- x! s- J3 T
  748. RELIFE_NUMBER_P2_PPU:  p# t) M( ]+ e2 _7 Q
  749. LDX #$00$ n/ j. X$ y4 e! e) ~, n) L/ x
  750. LDA RELIFE_NUMBER_P2_ADDR# C! F# V! q$ |; {% d, ~. d
  751. STA $07035 z1 S2 z1 n. D
  752. INX
    2 G; V& |& b7 U6 ^, K8 ~2 w/ B/ ]7 |
  753. LDA RELIFE_NUMBER_P2_ADDR,X' V$ a- \" y# o5 V; B5 B
  754. STA $0704; G. |; b4 e: x  s% C7 G
  755. JSR PPU_PROCESS2 A+ G% x& u: A) j* x  n; _
  756. LDA $33
    & }7 M; W$ [% X8 V+ x# g5 P
  757. JSR LIFETODEC
    9 o6 @% x6 d/ T0 A" r& N
  758. RELIFE_NUMBER_P2_W:3 J* F! E3 a9 Z+ s7 T
  759. LDA $7A03
    + S. Y/ F, A# K6 b0 U6 |' B8 q
  760. STA $0705
    + G; A: l1 h/ z6 {3 z
  761. INC $0705" ?) `) a9 }$ L2 F. i
  762. LDA $7A04, |- E! o1 |2 X
  763. STA $0706- `% \1 d! G, I" D- Q0 I1 r
  764. INC $0706& ~4 J: u* M& ^# g' [
  765. LDA $7A05
    . D) c$ B+ b# ~- A- E5 ~
  766. STA $0707
    + k3 `4 w3 s: T" q$ B0 j
  767. INC $07073 y+ U$ q7 @- |
  768. LDX #$03
    : _  g9 y8 p! k2 K; c
  769. RELIFE_NUMBER_P2_START:- P8 T  Y$ m% p+ k
  770. JSR PPU_START
      Z; g  ]7 @. }4 }; A* Z
  771. RTS
    ( T5 U4 l: T; B5 J3 p; l

  772. % X9 _2 T$ A. y! L& ?$ d
  773. WEAPON_P2_ADDR:, o6 E* G% c+ `" B* h
  774. .BYTE $21,$33
    : C4 N; e  H: R( `% k2 w' w  A" L* X
  775. WEAPON_P2_DATA:2 {+ F8 ]+ m# Z% J) [
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND
    1 M: Q  m5 S3 {2 h
  777. WEAPON_P2_PPU:' }' k9 f/ Z. L  E
  778. LDX #$002 n$ U$ \* E1 N- D' W( f
  779. LDA WEAPON_P2_ADDR
    $ t$ f' |: _& B+ `% X- Y* D
  780. STA $0703
    . `6 m: ^0 I! J/ n
  781. INX
    ) _1 ]; A( x- K1 [. E8 b2 e, I
  782. LDA WEAPON_P2_ADDR,X# Z/ S) ~! h# D8 b% R5 Y7 b
  783. STA $0704
    " C8 a+ R  z; ~- q% ?
  784. JSR PPU_PROCESS5 C( `% u) |$ c
  785. WEAPON_P2_W:5 j! j/ @6 R  w) V
  786. LDA WEAPON_P2_DATA,X4 M8 J$ x1 E- _" w! `
  787. CMP #CEND  H4 E2 I- o4 k( z
  788. BEQ WEAPON_P2_START2 p; I4 x: b, H% V0 J6 E; f
  789. STA $0705,X
    , ~! |6 D2 @7 L, q* Z+ e5 D
  790. INX
    3 p& S9 L+ S0 E4 S: j
  791. LDA #$00
    6 p5 ?" B! |- e! F/ x
  792. BEQ WEAPON_P2_W
    1 h0 Z0 u2 y# P; @% V$ E( J4 k
  793. WEAPON_P2_START:
    8 c, C8 {5 D9 L* W9 [
  794. JSR PPU_START
    ; G: S& T5 ?( a. K3 c1 f  @
  795. RTS
    5 R2 b( [0 \, i* o" q, W/ j
  796. . E7 m) {6 p' Y
  797. BULLET_P2_ADDR:9 s2 `1 N2 u% Y# }* b
  798. .BYTE $21,$3A% E# E/ I. g0 O6 D$ r) r* d
  799. BULLET_P2_DATA:
    " Y+ b: |  w  b+ ?6 f
  800. .BYTE $00,$01,$02,$03,$04) N6 k% G$ L% r" Z+ e3 O
  801. BULLET_P2_NAME:& |$ F( i  x. s0 V% Z' l7 M
  802. .BYTE CN,CM,CF,CS,CL
    ! b3 D8 I; z% _) Y
  803. : V# l5 f' d9 E: K# d/ _
  804. BULLETPPU_P2_PPU:$ D% ~7 ]: B( h5 ]
  805. LDX #$00! t& ^! J* F; ^) j- V3 t
  806. LDA BULLET_P2_ADDR
    ! |! D1 K! ]  `+ c( b  I( n
  807. STA $0703
    # _7 D3 i) k. t! ^; [( w2 W
  808. INX
    - D2 X1 ?- A, o) M% e4 ^' [
  809. LDA BULLET_P2_ADDR,X- G. `' @! u; R5 }. W0 v
  810. STA $0704
    9 A9 x2 |( |. d+ X. ?1 r4 y
  811. JSR PPU_PROCESS
    $ Q) g( Z6 Q3 s4 W+ _. W
  812. BULLET_P2_WRITE:2 s$ Y1 R5 l: H- x
  813. LDX #$00
    ( c7 S4 j4 v& X0 k
  814. LDA $AA% O4 U/ q' v" k, e- `% b  Q
  815. AND #$108 z& k  Y4 P& p$ S6 C$ t6 B) v
  816. BEQ C_BULLET_P2, |& Q( ^0 o# ?$ _7 V) f
  817. LDA #CS
    $ a/ k( I8 P; p% j2 ~0 d
  818. STA $0705/ l: ?+ d/ a/ h
  819. BNE B_NAME_P2
    ! O8 P  A# Q+ m  ^
  820. C_BULLET_P2:
    9 r9 ]- H" d" ]" x
  821. LDA #CC& M/ {7 h. ?5 U
  822. STA $0705
    & ], O( U% f/ g3 w8 L, U. j
  823. B_NAME_P2:
    , ]0 e( x2 S7 |/ Z
  824. LDA $AB
      b& ?1 T; ]/ j0 P
  825. AND #$0F
    . r: ?6 H8 Z9 l% f! c3 Y
  826. CMP BULLET_P2_DATA,X
    4 v0 T" H: r+ p+ h4 j; y/ g
  827. BNE B_NAME_P2_RECMP
    # S/ J/ {4 n+ u* p/ s1 s/ i! h$ ~
  828. LDA BULLET_P2_NAME,X
      \* t1 m$ l* s+ L0 _
  829. STA $0706
    * |" M! p" w8 \' S, Q8 ?
  830. B_NAME_P2_RECMP/ p$ [) y0 \1 n+ b% E2 V2 j. f
  831. INX. q+ O0 `+ I) d
  832. CPX #$05
    1 v% U) p5 x) D) ~7 B
  833. BCC B_NAME_P2
    / J4 S2 }$ o4 P6 N
  834. LDX #$02
    0 W) ~% \+ e& j# T+ R' N
  835. JSR PPU_START
      e8 ?  k( D% E. i: V* {
  836. RTS- w6 W9 l& X% R9 u$ b- t& b8 d

  837. $ i' g$ \$ w" `. t2 j( n2 C7 l) k" `
  838. * m" D* q+ v9 ~: A3 C& i' A5 V

  839. 8 J+ h' _7 J6 A1 G: I
  840. ! `0 F3 y8 R/ S8 s8 s) n5 Y

  841. 5 {1 T/ E  D% _1 K; I  c/ }: X& Z

  842. 8 o( X% O* A  Y) X9 o+ b8 I( o
  843. LIFETODEC:                ;十进制转换( t9 |/ i, T7 ~' f# c1 \8 z* |& T( s8 K
  844. LIFEL1:        ;initialise
    , s; U9 f! u  C/ p6 g+ g
  845. STA $7A00        ;$7A00=F3" \- v. W7 U1 J/ Z4 U! j3 l) x
  846. LDA #$00
    ' U) K) k7 s! l
  847. STA $7A03        ;$7A03=00$ m7 x5 P( R7 u% u
  848. STA $7A04        ;$7A04=00
    ; e  j: R2 [$ n1 \2 i
  849. STA $7A05        ;$7A05=00
    # d" ~1 y" Q. B& t: Y! u
  850. LIFEL2:        ;copy data $7A00 to 6001
    ' N- a5 k3 F6 K; B6 t
  851. LDA $7A00
      j- p5 d$ I( t. t
  852. STA $7A01
    1 E9 t4 s; c4 c8 K- A

  853. 6 @. w- y; H, [( T  h7 d
  854. LIFEL3:         ;hundred
    $ ^6 e- d" B+ \1 m8 X0 F
  855. LDA $7A01
    6 O$ t' ~/ `+ w
  856. CMP #$64
    & r" f, |' O8 _
  857. BCC LIFEL6                ;$7A01<100 goto L6
    7 l% X+ P# u8 f* V; \/ x0 U7 `
  858. LIFEL4:
      j' e4 o% N7 l9 {
  859. LDA $7A01
    1 K+ ?( Q4 J: ~. E) o4 S* z$ o
  860. SEC
      F0 U' y: s! l0 V/ h
  861. SBC #$64        ;$7A01=$7A01-100
    . C) j& U; Z1 l8 l
  862. STA $7A015 S: h3 \8 D- K7 E3 a; F$ |/ U0 K
  863. INC $7A03        ;hundred+++ f3 w9 N( N* r4 C
  864. LIFEL5:
    * }3 N& A& a5 ~! V% a' ^4 f
  865. LDA $7A01
    / Y/ h8 Q! Q$ _# Q) J
  866. CMP #$643 B" ~5 F3 Z8 p3 k
  867. BCS LIFEL4                ;$7A01>100 goto L4
    & h# L4 G3 Q6 j4 A0 O! k3 V3 r
  868. , D8 _& D6 T6 F2 M2 r
  869. LIFEL6:        ;decade% k" l: [) j5 w" S7 \+ u5 G% Z
  870. LDA $7A01
    # P+ u7 w+ H! B9 m6 O
  871. CMP #$0A  C! K- J  q+ T/ M
  872. BCC LIFEL9                ;$7A01<10 goto L9
    - T' m: _/ P1 J. U  F- B. q" m
  873. LIFEL7:       
    : U) I+ @* M; ]; T" U; t! h
  874. LDA $7A01& y; I8 T7 |1 O7 W& w
  875. SEC7 t3 T! B2 R7 ~- c9 {$ t- |
  876. SBC #$0A$ H. d' C5 L1 W* ?9 ^" n' P# g% t, _
  877. STA $7A01        ;$7A01=$7A01-10
    1 m4 F, J5 ?+ q7 \
  878. INC $7A04        ;decade++, E/ U: c6 m0 p$ R# x; q1 C& j. e8 m
  879. LIFEL8:" e2 n5 k4 M% Z' N! C2 ^
  880. LDA $7A015 E3 l4 k+ ~& c% b/ d
  881. CMP #$0A% I2 h$ k& ~$ |: X
  882. BCS LIFEL7                ;$7A01>10 goto L7' ^& T* A7 j7 I4 e8 L
  883. ;unit* m4 p# o9 R0 U* Y1 `- Y
  884. LIFEL9:
    ! W0 _  m) ?" n. [
  885. LDA $7A01        ;$7A05=$7A01" c  G3 [: |7 z8 D; F) G, e
  886. STA $7A05        ;unit
    ! L6 \+ K# \, l, X1 z8 w2 {3 ]* ]! n
  887. RTS        ;return4 @8 X6 D( z! y) a) O2 @& t

  888. 7 `& d+ d5 D! f' k/ R8 L1 N

  889. : V1 D* K6 }% m* b

  890. ' c9 o8 y+ d8 D* ]% @# T
  891. PPU_PROCESS: ;PPU地址处理程序8 Z9 X) z; E( _, j8 m5 l! p, Y
  892. LDX #$00' v" T3 ?) f" p: ~% ~; P" s& k
  893. LDA $FF
    9 n4 {. \; V" N& g, w3 |- w
  894. AND #$01& g- d6 c9 H. ]# @4 {
  895. BNE PPU_2400_27C0
    3 Q$ v: [" m2 u7 c
  896. PPU_2000_23C0: ;命名表1
    ( _/ R( T, v) e
  897. LDA $0703
      A2 B7 N8 ~, o0 u! L5 K' K
  898. AND #$FB+ T$ Y5 s/ m! k$ w! b
  899. STA $0703* a" {: y4 @3 _! k
  900. RTS
    ! d5 A0 q. J: M% K
  901. PPU_2400_27C0: ;命名表2
    ; a" c# s" _  x
  902. LDA $0703
    % ~  ]- X% ^3 ?2 ^
  903. ORA #$04, [8 @/ w- q; g" _0 q' t9 b
  904. STA $07031 J( r% E: C# Y) g  i+ q
  905. RTS+ P, l! o6 m5 V7 s/ S: ~. O& `- N, w

  906. 9 z* W6 G- j* o
  907. PPU_START:  ;PPU数据写入" g% p1 s/ {7 L+ O) O* m
  908. STA $21
    ; A& y" E+ [! j
  909. STX $07012 u7 T% i" K$ X" B: ~2 U: g8 Z1 y3 G/ O
  910. LDA #$00
      V. i4 T; H9 C
  911. STA $0705,X
    9 |+ |0 b1 c5 |6 C
  912. LDA #$01" V* O0 S8 d3 F8 ]
  913. STA $0700
    & f$ T6 N8 ?! _6 |- E
  914. STA $07028 B7 x+ Z! j, E" b6 v
  915. RTS
    6 q: n$ r$ Z9 C  R( p, `- d
  916. 7 X7 v/ R# p2 M! Z
  917. 9 K; @% _0 p4 f" w3 m

  918. ; K; o) D+ r" N" K- I, i+ x

  919. + i/ `/ e+ q" `7 O# f: ]+ B6 M
  920. ; d7 h5 F* f2 W$ ^2 ?2 m6 `
  921. # K" C1 A4 P: I5 L# S
复制代码
6 L  ^$ g8 S. o! V7 \8 e

本帖子中包含更多资源

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

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

签到天数: 2167 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!( y  K5 J5 s: j5 C. t( l

签到天数: 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, 2025-4-23 05:03 , Processed in 1.172851 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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