EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序. m  I$ d( J0 F# v
  2. 作者:FlameCyclone1 B2 n3 S/ D: C+ V/ E( P+ ~
  3. 时间:2017.2.12
    : ?6 Y4 A, v, Z7 I% e3 G% ^
  4. / }% d- C$ P/ U% V/ W0 Y) ]8 ?) K
  5. 按键跳转:2 h- S' v$ e! P; @
  6.         C1EF:95 F5 94 F1
    % ?2 y4 t: j; e2 }7 E( N, m% d
  7.         C1EF:20 70 FB EA7 I  R6 m# G8 n2 l# k# R* X& L# G! U

  8. 7 ?8 j* \7 n4 V) E
  9. 滚动偏移:
    ; O( p2 u1 ?( \1 Z/ L) J6 a% Z
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20; l  T" a5 g" b( W5 P+ T
  11.         F936:20 C0 FB EA EA EA EA EA EA EA$ q# K$ g) `2 V! i: ^

  12. 2 P/ t% Y! m4 X3 k5 D, x' B% B
  13. 背景调色板:' C, H1 Q8 d) Z; R4 P, r) ?* k! C. z. l
  14.         CF20:9D C0 07* x, V3 y. N& X" B& b
  15.         CF20:20 A0 FB
    - e! a8 W. Y& i/ V2 w

  16. " s. I8 ~2 {; a# P. ~9 \
  17. PPU BANK号:
    : B) K, a1 l2 N7 V* v" O
  18.         C8C9:9D F4 07& t7 _6 `+ \' q# ?; O" i
  19.         C8C9:20 B0 FB6 q! V9 C2 U: Y2 t3 o2 I! n
  20. 3 V. S5 X" Q' j/ G! r! [4 i8 t1 P
  21. 按键跳转:
    + y3 B8 c1 X5 }( R7 H
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20/ e) E! F6 v$ U! u5 c) ?9 h% R
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    3 s  a( }* t4 M% D# k
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF9 [' k* m9 h) `6 v% L6 J

  25. ( G5 L5 Z2 e( r! }, B
  26. 背景调色板:
    # e% Z8 _# l+ v; I) o& S
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF$ N' t: Z+ |. M/ c

  28. " E. s. m) K! C$ a
  29. PPU BANK号:
    9 y) k. }$ e  e" z! a( M& i
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF
    . p. x! ]; K( `( `2 l
  31. 5 ?  t- o4 x* v7 h" c
  32. 滚动偏移:1 @( B' e  V7 i% Q
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60( G+ A* H  m- R, ]0 D9 G9 X+ y: x
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    + K1 U2 l9 i6 D9 f9 e& N

  35. , p  q, B" I7 h; D6 h, a9 D' F' ?$ ~
  36. - ^  W4 ^1 n! X9 m$ u6 K
  37. 切BANK后A000:. Y& m: Y8 a, Y4 D1 f
  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$ E+ @* U! h' p  J8 u7 t9 @3 D  R
  39. 2 V* S: o" M4 q# s0 B4 M) |: A
  40. * q* g2 {, b: A6 T* r
  41. 6502 simulator:
    4 k" g0 U7 l. H; s1 ^5 \
  42. PPU写入程序:4 y4 X4 L& d! X1 r
  43. .ORG $A000
    1 s5 s  w  x8 a8 x+ R. y) t. |
  44. CSP = $80
    7 y, q0 P* U  F6 n
  45. C0 = $81
    9 w# c  ]! n& I
  46. C1 = $82
    ) f" J0 q2 q. z* Q  Q
  47. C2 = $83
    : p9 d. d' Y+ `- Z
  48. C3 = $84" Q1 v# I4 i" V$ p% V8 W; N' k  m5 ~
  49. C4 = $851 W2 G% f  b# V6 f! _
  50. C5 = $86
    8 ~' Y% ]) p9 U
  51. C6 = $87
    , B) t7 Y+ K% |: t9 d
  52. C7 = $88* Z& S& X: x2 T2 ]6 b7 G" h: h4 ]
  53. C8 = $89
    ' ]. j) M+ v' c2 t; ~) ?
  54. C9 = $8A$ a! e' d4 F2 W( _0 V# k" z
  55. CA = $8B. w( W: {+ _7 t; I9 h
  56. CB = $8C# l! i8 g- i# Z) H
  57. CC = $8D" {; h, Q+ S2 x/ d
  58. CD = $8E3 ?1 ^+ B8 y$ e* n, a! g
  59. CE = $8F
    & Z$ H! o% I( E
  60. CF = $908 u6 {+ o  H, j9 @5 h( v1 M. n% s
  61. CG = $91
    * u5 J: y( w) p3 r
  62. CH = $92
    7 N8 D8 f/ f- W. I0 e3 p
  63. CI = $93
    , p6 s* I. _" w* ]% d$ m8 Z6 F8 s
  64. CJ = $94
    4 o& v+ j" P% g. o9 ?0 O
  65. CK = $953 G1 u1 U+ x& o2 \
  66. CL = $96  t7 j6 F1 x' Z1 S& k# z
  67. CM = $972 \5 `* A5 {& {6 v" X9 K# c
  68. CN = $982 H9 V3 J) J; h) S
  69. CO = $99
    ( M6 u( c$ P4 D+ G
  70. CP = $9A9 i) w# M" D: l0 I. F! e" G2 X+ X
  71. CQ = $9B0 X" |, o& P% X. z/ [. N7 D8 L3 W5 P
  72. CR = $9C6 I1 u; P2 f3 x# Y: z8 w
  73. CS = $9D
    # L) E# m6 i: J' }6 u3 z2 X
  74. CT = $9E% i! ~# x3 C1 ~9 v9 P! ]: A4 O
  75. CU = $9F! o$ ]7 i0 g! ]9 I5 c
  76. CV = $A0+ Y) F' i/ L0 N4 p9 Y+ K9 l: F& _) z
  77. CW = $A1
    % h: l4 \. Z  n- t7 J& w1 `! ?' ]
  78. CX = $A2
    8 Q; W' ^4 _8 ]! P6 n1 J) c* _% u
  79. CY = $A39 _9 {+ X# T1 [  g8 o
  80. CZ = $A4
    - U0 j2 [3 N( @
  81. CEND = $FF8 {- z/ o/ \* s) V; T

  82. . a0 P' a+ M9 k% ?5 _. e

  83. ' i) i) ?' u0 ~8 v2 R6 U, I" c
  84. CMP_RE:( M! V3 p# Y$ n  ]1 J9 N/ D( R
  85. LDA $FF! E1 Q6 W. K8 a& ?4 t8 y
  86. AND #$7F4 b  `  L6 c6 ?6 c
  87. STA $2000
    7 y/ P0 {+ `' v( o- P, Z. x5 i5 L' ~) x
  88. LDA $2002
    # }+ ?% c% p- L; Z; T
  89. LDA $259 ~/ b& c' i! @, x  ?! d; v8 t% B
  90. CMP #$01
    " o$ G9 E5 V+ d. O0 ^& C* H* I
  91. BNE PROREG! x& m; h7 \. l
  92. LDA $F5,X
    8 P" g" U& v* C: C& ^
  93. AND #$CF0 }7 E" {8 j2 [: S
  94. BEQ PROREG
    , q* c$ S2 p1 S2 [
  95. JSR PPU_CMP
    3 |) r3 S6 s9 E6 ^0 v
  96. C_RE:+ Y- H' I  f8 e
  97. RTS& _, Q$ u+ c$ f& g; ]( i  X" C; a4 E' _
  98. PROREG:
    7 e& v1 z* `# x9 D, x0 t; I
  99. PHA
    8 }, P' ?. D- Y
  100. TXA
    4 ~2 q* [) _6 v' O# {- U7 Y
  101. PHA  {& f( y6 c7 E/ v2 i$ x1 A+ T9 T
  102. TYA/ u$ j7 F6 f6 D0 R' s  }- Y; K' w
  103. PHA! \$ B, o, B$ M, \/ f
  104. LDA $25% G* _% C1 V3 A! e4 M
  105. CMP #$01
    + ^) e7 _8 v, f4 _2 U' N
  106. BNE RE
    8 L' w  [7 g0 E$ @: E* s
  107. LDA $010A
    2 S0 F4 i  i3 Z8 [3 v; J0 }
  108. CMP #$00
    ; j( T; O5 p' b
  109. BEQ P10 t1 E' [; z( [
  110. 9 K$ w4 \3 e: O+ f, L; V  w1 ^
  111. RE:
    5 G  x: {: y8 c6 H% `
  112. JMP PPUWRITE
    * S: r" ?+ p5 T
  113. % Y, m& ]3 q3 n
  114. P1:                ; 条件判断
    . `' t. W$ R  O1 K/ l. W) Y7 t
  115. LDA $7FFF# f4 q  J& [: I  d8 I( K! U, @
  116. CMP #$FF
    ! ?8 z: f1 j" j' O/ X& y) h
  117. BNE P1RP
    6 E+ \& e$ l9 S( S, e
  118. LDA $7FA0- P* s' n1 F( D
  119. CMP #$00
    # u% {/ W5 a# S0 B! i
  120. BNE P1CMP
    ! C* ~3 m' T8 ]$ n" e: c- ]7 H/ O
  121. LDA #$FF7 V% Q/ `7 _+ p, j, R& T: M, R& ?
  122. STA $7FA0
    ' P# j: ]0 j: G  c+ l
  123. JSR CLEANA; b( i, z1 I0 z, d# q; u
  124. JMP PPUWRITE
    7 B+ e% ~2 k- v2 K- r# ^
  125. P1CMP:) Y6 A/ i3 k5 P! Q$ `: `
  126. LDA $7FFF
      P7 A: c* d$ Z- t
  127. CMP #$008 p1 p$ f% j' n% \; ~; R; ?
  128. BNE RE
    + `+ E, _2 M, S2 W- |+ K! f
  129. P1RP:
    1 ^- L+ b/ X% L7 n, W
  130. LDA $2002# b* I7 g- ~1 p6 C, U8 d# o; y6 M8 A
  131. LDA #$007 {  E9 A  ]6 l
  132. STA $20011 F8 q- r7 r  I, o# u! Z$ p
  133. LDX #$00
    + _+ D! |* H; q2 a+ X. _
  134. LDA #$FF1 K# m2 M' V6 d8 m9 m
  135. STA $7FFF7 N$ O( O4 I1 t8 l
  136. STA $7FA0! P& ?3 |* F: v2 Q! N
  137. JSR COPYPPU
    $ N6 R( G2 R" P3 ?  Y$ N. Q6 Q% w
  138. PIRP2:. ^0 N$ [' E: p7 n$ l( y! [  A
  139. JSR CLEANA* x( o: B/ x/ ]1 S% c$ a7 Z
  140. JMP PPUWRITE' R, D9 c( k1 H) J/ [

  141. ! r1 `! `5 w, |+ h
  142. COPYPPU:. Q! N/ j: o- |3 }- N' A/ M
  143. LDA $FE
    6 k, @/ T2 F( v
  144. STA $7F50
    % [1 y3 B( V$ o
  145. LDA #$08
    , _6 U6 u: c+ I- ?( H+ k0 r
  146. STA $FE
    + B0 z4 E1 r9 V2 g8 x1 b3 c2 T
  147. L0:
    3 A& T5 z6 u$ b" ^" |
  148. LDX #$00( \; f. D7 V# z3 X4 S5 t
  149. COPY_07C0_07DF:
    4 [" p: U: h* U4 J! c3 f+ ]2 N
  150. LDA $07C0,X) h9 @" s3 }2 y  q
  151. STA $7F00,X
    ( G; v  l$ }: ?3 S: z# p
  152. INX
    4 f+ n( n0 R. o5 B( G- ^. s' |% E
  153. CPX #$40" O6 x7 A1 H& ~  A& B
  154. BCC COPY_07C0_07DF5 i/ p* f8 ?5 W9 ^4 u) Y3 l" i% S
  155. LDX #$00
    ; W4 f$ z- ~5 e
  156. PPU_07F4_07F7:
    % @" t7 X7 f  s+ y$ ]# u. w
  157. LDA #$00
    & C  t# s0 o8 U
  158. STA $07F4,X  Q0 D5 h8 U3 ?: b  F! N6 b
  159. INX
    6 q. t, ], y' k. Z; c+ J+ |
  160. CPX #$04
    + I9 O/ p6 r7 K8 n- G. Y' ^
  161. BCC PPU_07F4_07F7' H; a4 }+ N) A( f
  162. LDX #$00
    4 r6 k. M: N' w% Q% {! ?$ e: z" X
  163. COLOR:2 ]9 T2 N2 p5 g. H9 Z
  164. LDA COLOR_DATA,X
    0 Z. V( j) G; \) M0 T% S- G
  165. STA $07C0,X% ^, I+ \7 M/ B$ N; g
  166. INX
      y3 [, J: t1 @
  167. CPX #$10
    6 h2 D# Z! l& U/ P& F
  168. BCC COLOR
    5 {) _+ Q9 z2 ]& O& W4 `

  169. 3 i" Z" Z9 E( e. N! g5 p6 |! k
  170. PPU_COLOR:
    ; `* f* G; g- E/ a2 e
  171. LDA #$3F" x9 [# }: ^! k
  172. STA $2006
    9 f9 z0 I$ l! n% [6 V, a9 [& K& g
  173. LDA #$00
    4 q  S( N( s+ L8 p% k4 W9 E9 e
  174. STA $2006
    # \9 D2 M5 p" X. B( ?' k
  175. LDX #$00) A6 @2 }# U$ j! k
  176. PPU_COLOR_W:
      c' y/ Q& y0 D1 |
  177. LDA COLOR_DATA,X
    ! `6 |2 x, o2 {2 \" Y% {6 x
  178. STA $20070 n/ \6 v2 D0 K/ n+ D
  179. INX0 l2 a5 S) u" a& n6 Q
  180. CPX #$10
    . R2 h# D3 ?# y; B  a2 L/ r
  181. BCC PPU_COLOR_W
    & R) A2 ]0 Y  Z! h$ s
  182. 6 ^% S  }( \# u, p" A
  183. ( L- }0 k& R  L6 S7 n1 h0 Q
  184. LDX #$005 _! a% N  u) Y7 |. f4 f% e0 {' \
  185. LDY #$00
    / v) [# D! l& F4 r. z2 U9 P
  186. LDA $BD
    * a# @7 j! r6 I$ i" a
  187. PHA
    4 l$ X2 D: h8 X
  188. LDA $BC
    8 C# W; h/ ?( B
  189. PHA
    , |: v6 b( I9 D- }& Y9 u3 }
  190. LDA $BB  l& }" h( |' O( [8 h
  191. PHA
    0 S3 ^5 g0 g* E  ^
  192. LDA $BA$ |% z6 H5 E1 K- s" d0 I
  193. PHA1 C- I; [, b- ^' W
  194. LDA $B9
    5 [& n) c( y/ a$ o6 J" c. T
  195. PHA
    + F& q: f/ ]4 |9 P
  196. LDA $B8
    " G& |% y! j; L9 ?7 z
  197. PHA
    : |8 P; Z& M% J# Y
  198. LDA #$00# G+ d+ o/ I1 f+ z; T
  199. STA $B8  L' t# a- T8 H( ]
  200. STA $B9
    , I7 S# m; c6 s6 a3 H
  201. STA $BA8 C8 ^! Y  B5 b& R
  202. STA $BB
    ' `  r2 Z: Y3 `: f& }
  203. STA $BC
    7 _( |: ^* @0 ~
  204. STA $BD
    % h0 C  u  u. f; a1 x
  205. LDA #$00
    ! U3 t) k$ q" D' d
  206. STA $BA
      k& K# z3 ~" H! }3 x9 S2 u& q
  207. LDA #$20
    6 Z6 t: V. I& U' D; B+ G( V3 h
  208. STA $BB, I& R- M4 m0 M1 ]- D: O) i9 N
  209. LDA #$00$ t" @4 I' ~. @4 w9 H) [
  210. STA $BC8 ?. z1 p& ^. m- T9 L$ S
  211. LDA #$60
    ! I6 z; c8 S! a& c8 N5 v/ W
  212. STA $BD
    " t6 w+ L- @" E" r  D

  213. : x- F! A8 J' ]
  214. L1:                ; PPU复制# l$ @0 [! e3 W3 k
  215. LDA $BB
    ' j( S1 H' I- y) Q4 B: T
  216. CMP #$28, T, F. K* n. b  U* W* v5 @
  217. BNE L2' r+ _* a+ @1 V3 o/ N7 B
  218. LDA $BA3 B) U1 B9 `5 ~3 p  u
  219. CMP #$00
    1 i3 z3 m' a+ i9 l
  220. BEQ PROADPLA
    ; |9 ]9 X# c3 S4 a/ |( \1 a
  221. ; U1 o" k/ V7 W$ y& J
  222. L2:9 B5 D) M1 j$ X1 x, a3 e* z
  223. LDA $BB) N- `8 n' L4 L- e+ D/ v
  224. STA $2006
    / l  N# ^  ]6 e( w
  225. LDA $BA
    ; R) B- l4 H8 @3 }& S
  226. STA $2006$ o$ \* B, [& S4 N: X% O6 M
  227. - X9 c7 Q  l  _
  228. L3:
    5 |4 Y: ]& j* [( Z
  229. LDA $2007: [  }2 a% E" r6 S5 q! n
  230. LDA $2007
    3 x5 ~1 c: [& f  V3 p' H! U
  231. STA ($BC),Y
      J0 a/ q: Q$ ^" _( }6 A6 |) _

  232. ) S5 O  a  \' Q2 {$ `0 w8 R
  233. L4:
    4 r6 j( w# G  o( z# G
  234. LDA #$00
    ! l2 j4 A! j4 \: n0 u- p& F& y
  235. STA $2000
    8 {$ M* m" S, u4 H7 B5 U
  236. INX& S$ Q2 u- E  K8 c( O: H. z" W  N# C
  237. INC $BA
    0 ~! `3 q( C. b9 a0 ?
  238. INC $BC1 J" s0 r/ f; e0 S/ C! x
  239. CPX #$00
    ' e; M/ p' _4 e: r
  240. BNE L1( O& U4 j1 B0 M- a. i9 [
  241. INC $BB
    ' d  r- ?3 p9 C3 S  o1 O/ @
  242. INC $BD
    1 Y6 A( A1 g$ J* y# U
  243. JMP L1
    6 G# a+ j0 m9 x

  244. / n  V) L/ U; n; K+ Z! R
  245. PROADPLA:                ;出栈
    ( ?$ M: Z* ?: {% D3 ^' m3 v
  246. PLA# F# i5 O- C2 W4 ]
  247. STA $B8# z' U- w5 H! ^2 A6 y; ]1 k
  248. PLA
    3 c" ^5 D( a5 w% D
  249. STA $B94 h2 i  W- h. L2 Z; O
  250. PLA
    + g+ g5 i& q! [5 {9 Z  ?' f
  251. STA $BA
    3 }* T1 i. i5 |2 E+ T
  252. PLA, e# e" f" K7 u& @) v! ^* x: j
  253. STA $BB
    0 c$ q3 o' N4 h3 w
  254. PLA
    9 u) ~" ^3 X5 k& i7 R1 Q- H. K  h
  255. STA $BC. ]  }9 C5 t) E
  256. PLA
    . _; j2 Y5 d/ x/ j: Y% Z' A, i
  257. STA $BD
    1 G8 B+ ?9 D" u! C8 E, N  |0 S1 \. k) v
  258. CPRE:  k+ t5 M9 Z# q( ^/ [
  259. RTS9 G- J* C9 U( x
  260. 9 Y$ F, e2 R; i) B
  261. CLEANA:                ; PPU清空
    6 i; K4 Q+ W# Q3 X) r! k  N
  262. LDA $BD! ^; X/ G3 v& Z& M/ U; M& m
  263. PHA
    4 n6 {$ z  ^' C5 Y, d2 B4 e3 [, y
  264. LDA $BC" ?5 z2 \0 Y+ z/ ~4 ^8 q, Q* ?- b
  265. PHA
    , y8 b, d9 @: O1 M
  266. LDA $BB9 ]* l0 N/ f' N! N5 Z; ^' G
  267. PHA8 H6 Y- ]/ {8 ]. v0 a+ Y2 u
  268. LDA $BA
    + Z$ D3 |5 U/ h$ e
  269. PHA
    $ y8 q- k" A! w5 S9 {  r) T0 \
  270. LDA $B9
    ( B$ w9 G+ \2 H$ k' c
  271. PHA% R# `' t9 ^5 I  R8 B
  272. LDA $B8
    . Q. Z! [7 @& b/ ~9 l5 P
  273. PHA; ~# j# h  W3 [
  274. LDA #$00: O* h6 M6 [) }9 y
  275. STA $B8
    4 ?# A2 s4 D3 {
  276. STA $B9
    " F# n6 h0 z5 U' U. O& s2 q
  277. STA $BA
    / @  V- W8 F% X% F1 M
  278. STA $BB0 E. ^- u/ w/ y1 U( x
  279. STA $BC
      p- ~3 N+ W! n8 x. c1 `! u
  280. STA $BD
    & h& `$ w& b7 o- S2 C  }
  281. STA $2001( W1 r. p1 Z! W5 j/ W' D$ }
  282. LDX #$008 i# x9 ~+ O! }4 Y% ^0 a
  283. LDY #$009 {7 V  V" K3 J: F/ T$ K* Z
  284. LDA #$00& K' J- ~# r; F0 _0 H. y( L8 g
  285. STA $BA( S' p* }  s8 V0 n& H" f
  286. LDA #$20
      I2 g0 g8 Q' S! h$ ?
  287. STA $BB! i9 @7 Z* p1 T9 R& a) ~# S

  288. 2 s7 H0 ~* n. b1 N8 V, }7 |& H
  289. CL1:
    3 \' h) v5 H* q7 T& \6 D; C% c
  290. LDA $BB
    / O" N, {4 B5 E0 ]1 _, [
  291. CMP #$28, R7 m: U2 u* }0 M+ d- d) o- C
  292. BNE CL2* u9 T& u+ @: b6 G/ I  C
  293. LDA $BA
    : t- w: N! Q3 Q& K: A3 Y
  294. CMP #$00
    & ~% o+ {# C0 \, y6 g8 V
  295. BEQ FREEWRIYE- ~  v) Q: ?. ~- a! b
  296. ( Y- ~& B/ J+ ^( L$ N6 S
  297. CL2:
    + Z7 y, M; o! H: n1 a6 p
  298. LDA $BB
    - `7 S% t0 D" A5 b0 ^% x8 z% ?9 @  v
  299. STA $2006
    - M( e. z9 A+ t9 j
  300. LDA $BA
    2 F1 L2 E: ]' j
  301. STA $20064 y6 N: K3 D; a  {
  302. ; z& `* H: _5 {) d4 N3 r
  303. CL3:
    ' p, U% w  |3 c# [3 R  V+ ^
  304. LDA #$006 I0 i+ F6 |% t8 Z1 {
  305. STA $20079 m5 P  v3 W) K" ^5 @) Q
  306. ( k9 a- K# D  l8 D. V
  307. CL4:
    5 ^$ x4 K4 s1 Y) B2 q4 i9 `
  308. LDA #$00
    6 n/ ^4 J, S3 T* ^* ]0 M* |) [
  309. STA $2000! L, p) G1 D" t8 Q7 a& I
  310. INX
    " B5 i, l1 @  [- P- \
  311. INC $BA% _: z& {$ g# v1 p6 r) U  T* b
  312. CPX #$001 `0 J8 B3 A. Y, E) a1 |8 j% o
  313. BNE CL1
      P8 ^  X( J, o8 `
  314. INC $BB4 Q$ j7 W9 `* a1 d9 H9 `+ N0 {8 f
  315. JMP CL1
    ' W: @  d: Q- h7 q2 M$ J5 Q3 E

  316. * W' o5 g+ o% e6 t- M* r
  317. - E2 j7 _$ x, j. l& N* _  x4 i
  318. FREEWRIYE:
    - j" o' q) f  r+ A$ n. ~* Y5 c
  319. / W$ g  @8 O$ |5 e
  320. NOP8 E: \! q# |$ d( U$ |

  321. " ~' l/ f: M0 i, |
  322. 7 L" m# J8 S( j) g3 m2 `8 q: L

  323. " S# G  Y+ g# k$ m( j2 G. F

  324. % j0 b  x, I9 P& d6 }

  325. $ N# [0 U5 h+ V, A4 F; Q" U+ ?
  326. CLEANF:                ; 恢复现场$ r' c# G+ |! }0 ?3 ~4 v7 a8 ?: c. V0 V
  327. 6 f5 r' W. U3 I+ A8 r9 s4 r& b
  328. PLA
    ) j9 z4 e7 M, S3 R& y
  329. STA $B8
    / s/ L3 B( w4 F9 q
  330. PLA
      s; P8 j4 E& e: X7 X
  331. STA $B9
    : u$ {2 W. d: A
  332. PLA
    $ U. y& p+ K; c! w& E$ C+ ^1 S
  333. STA $BA
    . x9 e" D  f. n6 ]' B" Z! Y9 h4 ]
  334. PLA
    5 ~0 ?9 r: s4 B( R
  335. STA $BB
    ; P, d1 R8 Q% Z+ O% c+ [+ S
  336. PLA) }! e8 G3 B' b
  337. STA $BC
    ) D- C( m: Y! @3 |5 e' H8 M, {
  338. PLA
    2 B  h3 g$ K+ N7 b) I
  339. STA $BD
    7 G( L; @8 _& h) q: G% u
  340. CLRF:8 k6 D3 Y/ H1 w4 F5 @
  341. JSR FREE_PPU
    # @& U, `4 z/ c/ |, U1 O
  342. RTS
    ( _2 F  k* s6 K  C% j3 y
  343. 5 s) r7 R7 Z! d) Z. y

  344. 5 Q/ d! _% n: M- ?, L
  345. PPUWRITE:    ;PPU写回
    0 \) l( u( ]* }" P5 G2 D- `
  346. PLA
    0 ]1 c0 [. E  c2 y
  347. TAY7 k% R' A, [% i. K
  348. PLA
    ' H; e! Y% u" F5 L9 a
  349. TAX
    $ o' K3 d. |3 I; l8 S; |
  350. PLA# _* k1 O8 N3 s' ]& k& v7 M
  351. LDA $25
    , a9 A- `9 e2 H& m8 j% ?6 d' l7 a
  352. CMP #$005 _$ {: J- u$ U1 `
  353. BEQ WP1
    8 a: s& m+ g+ I' _* `7 \
  354. LDA $25
    ( \; a/ y1 v# }" r5 N! S
  355. CMP #$013 Z/ R7 \$ O/ W( n! _( Y: O
  356. BNE WRE
    8 h& ^1 h. u- S' x, ~, H9 |
  357. LDA $F5,X3 r3 d; I+ v: t1 H+ ]9 R& z
  358. AND #$EF
    7 K' P( ~5 R- m7 v  ^
  359. BEQ WRE
    , T8 j. O! _+ J' P! @
  360. LDA #$00
    8 i5 l5 B# }% `$ S3 V
  361. STA $7FA08 I0 H' |- }8 k! m/ N

  362. , E. F: \6 I: a$ P2 }
  363. WRE:4 H, n4 u4 _/ E* X8 z
  364. RTS* y5 E* V  L( i$ }& C3 E

  365. , [) u2 l8 i4 ~  S- o- L2 o$ M
  366. WP1:
    % v4 }7 v. U" _- s& r( E) @7 l# L+ B
  367. LDA $7FFF+ E6 s) F0 {$ [8 ]3 i3 G, N
  368. CMP #$FF
    - a5 o5 z4 K" W1 M
  369. BNE WRE
    ; b) X0 u: v3 k, h. [3 s' |3 b  I1 e
  370. LDA #$00  j- O  W% K& [3 w, E" W9 l
  371. STA $2001& D% c# u9 @3 b5 j3 @5 y
  372. LDA $BD
    ' V3 `$ b0 `& ^
  373. PHA
    $ ?) {* \0 V9 H
  374. LDA $BC# l2 p/ ]; R& A* }! \
  375. PHA
    " S- F# b0 }- F( M; i
  376. LDA $BB
    9 C, e. x) Y; c( V
  377. PHA
    ) q0 P9 t7 n$ m. p- E
  378. LDA $BA+ o# `0 h' g6 U- F
  379. PHA
    % @6 H/ k" r+ p: E# [* _* g
  380. LDA $B9
    ! J" e5 e: M% P
  381. PHA
    & Y$ E) `! Y6 R( x7 g
  382. LDA $B8
    4 A. m$ K! s# ?8 d3 Z$ _$ f
  383. PHA
    - t( z3 z/ ?$ \% ~+ d
  384. LDA #$00- F; a1 W* \0 [  P
  385. STA $B8# ~7 y' j0 w2 q2 J8 {9 m! C
  386. STA $B9" W- C" d* j7 ?9 J( s( g( V
  387. STA $BA  w0 I, O% m* i6 [7 B
  388. STA $BB
    0 Z/ b. f/ D& D4 ?2 u! w& i+ p
  389. STA $BC
    ' W: p3 Q) \& a! [) l# `
  390. STA $BD  q7 i0 Y. Z! a
  391. LDA #$006 c$ X6 I( i+ z2 n8 f" H  G6 d" y
  392. STA $7FFF
    8 ?1 R- @/ p- Z0 E4 U

  393. 0 }# @1 d' h+ c( n9 _7 _+ E4 \* e
  394. WL0:8 l: L2 }% t3 H7 v" O: n& \
  395. LDX #$00) V5 S, d: ~( l$ Q
  396. LDY #$003 W5 b/ E1 c7 E" ~  C  J& t
  397. LDA #$00
    1 }+ o& g" i9 Y; _+ L3 ], P
  398. STA $BA' I$ q/ I. h1 P% B( t* M
  399. LDA #$20
    $ J7 N. Q+ U& F! R: T, A; k: H
  400. STA $BB
    ( o+ I) r  l4 M; U
  401. LDA #$00
    ) X9 W5 T  M: L* p0 z+ s# R
  402. STA $BC
    - y1 V$ L  j, X* j* F- V
  403. LDA #$60+ H# Q4 F6 V3 l# `3 `' Z
  404. STA $BD
    & z6 o) U$ K" e8 e% G

  405. $ R: N7 V0 a5 Z: Y& ~
  406. WL1:
      m5 O0 H- x% J) Y7 h# h7 `8 x
  407. LDA $BD+ B4 L* ?, C3 N4 [9 n; m
  408. CMP #$68
    - }4 c6 G- V8 d, ]- N
  409. BNE WL2
    $ R% ^4 k: Y. G2 V7 z+ ?3 j% q
  410. LDA $BC5 e( f5 P8 P, j& `- M8 f
  411. CMP #$00
    $ \) f6 C/ n6 _% u
  412. BEQ WLR
    4 M- h0 O1 N9 a1 |) O2 a

  413. ! p: {  j8 `6 [
  414. WL2:9 j, j% D! u2 @6 [- ~1 w1 V% Q$ p
  415. LDA $BD  n. r, ?6 t8 A+ X8 z6 x
  416. STA $2006
    * n$ k" b- C; b( a; O" d
  417. LDA $BC* s8 V5 E. F# y# f- A1 @
  418. STA $20067 R) S7 i& N1 y& `7 R

  419. . m& s# F$ m" j( g* ~5 ^2 k; g1 V
  420. WL3:) G, c5 {" P) ?8 J( G
  421. LDA ($BC),Y
    % j0 j* T, n8 q% o: ?/ z; i/ ]  O
  422. STA $20076 s9 b; |! d$ U
  423. 4 e2 z) ~. w) h1 P! l; J) A
  424. WL4:
    " L. t# H) V  y" T
  425. LDA #$00
    0 |* L& _; e1 V' x
  426. STA $2000
    1 o' I: n, I5 x' U
  427. INX
    , h4 ~% r) Z& a: q  P# A
  428. INC $BA7 F$ |. D# x; H) B1 l8 Y2 l* t
  429. INC $BC  `% O' I, M/ t" W: M4 f: J
  430. CPX #$00: r% L0 s7 _% B, R$ M
  431. BNE WL1
    5 w" N4 e) T$ `7 X" _5 r0 Q& l
  432. INC $BB5 O' d/ ?4 X+ L3 _5 k
  433. INC $BD
      F9 o0 l: ^6 R1 d, C( L- c
  434. JMP WL1
    1 x6 j% p* m! A. E$ v

  435. 0 G0 L/ r6 o3 ^  W
  436. WLR:% y0 J7 E! E- D% ~3 t
  437. LDX #$00' P1 v7 {. L+ n# s/ Y
  438. COPY_7F00_7F3F:. B# ~) {5 i& f3 v( Q* m
  439. LDA $7F00,X0 ?+ \) @* [2 Q6 `1 F: B  U# n4 S
  440. STA $07C0,X# Z& m; G7 y+ l( s) l7 I
  441. INX5 c/ c. x% ?, ?5 c! k2 ]
  442. CPX #$40
    . z" R" G5 v" ^# z
  443. BCC COPY_7F00_7F3F( y# E0 L. i5 i) u3 C# U
  444. ) t* i$ `8 j  m0 @- U
  445. LDX #$00
    ' k; q  K/ z' y! K5 u: F  T
  446. LDA #$3F5 `# P% m9 t9 ?# x
  447. STA $2006
    2 l3 P+ d: S0 F& R
  448. LDA #$00
    , B: F/ ?2 R1 z/ @
  449. STA $2006
    0 a8 F; F7 p- N* W5 R* i- i( [
  450. COPY_7F00_7F10:
    ) \( [/ q) ^: g. @4 G9 F  ?
  451. LDA $7C0,X
    3 R3 t8 ]& F* {$ D
  452. STA $2007
    & N  d7 ~8 p4 u
  453. INX
    / \3 d5 Z% T( q4 h/ B
  454. CPX #$10# j) u8 q3 i. e! I
  455. BCC COPY_7F00_7F10
    " q& ^9 s% F6 B5 w7 Z" d" ^2 Y8 }* H
  456. + j6 J  i2 S: Y5 \  l7 |
  457. LDA $2002& N- u& o$ Y* }* M: K
  458. LDA $FD
    9 M8 F9 p8 b* ?1 t
  459. STA $20054 r1 _) L! P0 |4 _6 r
  460. LDA $FC
    4 b9 J9 G% x0 Q  I  w8 {& r$ N: S
  461. STA $2005% x7 E3 q1 f( e& j' k, X% O" l# b
  462. 7 Y, u( D. r0 _2 F
  463. LDA $7F50
    . e+ x0 K8 B& a" D4 e
  464. STA $FE9 H! N4 b1 G8 Y( P* z
  465. LDA #$00
    # e- }) s+ T$ {- Z' f# M. x9 f
  466. STA $2000
    / R/ J# P" Q' p; q
  467. PLA" Z: h# X( v+ d. c
  468. STA $B8- L2 ~4 f! q  h
  469. PLA
    8 P- b3 X: G3 k
  470. STA $B9
    / i# Q. h  l7 O. W
  471. PLA" q# y1 I+ t; @; b7 C4 g# j/ \. [
  472. STA $BA
    7 K! _# r8 C/ P9 \
  473. PLA
    , E  @; P2 A3 a, e! j
  474. STA $BB
    : ^! ?# M. j1 V) v
  475. PLA
    4 }8 k# B6 R# R1 ~3 R- i
  476. STA $BC- w4 w6 N) e  p
  477. PLA
    5 ]! ?2 @) r. {7 L: W0 k' p% x: c
  478. STA $BD' g; w3 F" ~/ |6 t1 @
  479. ! Y8 ~/ ?) v& _: u/ P( Q! b
  480. RTS3 H" \0 a7 P: l0 Y/ B  c
  481. ; \  y: g. `+ g2 S0 c6 w
  482. PPU_CMP:
    $ k" x% E6 j6 d1 Y$ Q. C" G: z
  483. $ K- m% Y9 ~5 E
  484. 4 n3 H3 V; L3 F  M7 k4 \/ t
  485. PPURE:
    8 n8 W. Q: [+ n) a
  486. RTS
    ! d/ A+ F; x  u

  487. 0 J6 \* z7 O- M, y) e3 K" c+ x

  488. - M6 A+ l* P9 o8 N3 ?& a$ r3 C
  489. FREE_PPU:+ M; }8 p* C, [% f: s- Q

  490. 3 T, s' d! O, L7 k
  491. JSR TEXT01_PPU+ c7 E9 M! r& O5 f* y/ p) E" l
  492. JSR $CBC0
    - Y. m8 c/ ^8 i$ N# X8 j7 ]
  493. JSR P1_PPU
    , J  L9 w" V4 a, f+ B& {5 N6 u
  494. JSR P2_PPU% U/ W% r* s4 h2 _
  495. RTS6 X/ o' G2 W( _; O' z; ^

  496. + A& T8 f7 B4 }# q
  497. TEXT01_ADDR:
    - r& i" m# B' P0 j$ W( C: ]
  498. .BYTE $20,$42
    & b, a1 X9 ^* `5 l5 O
  499. TEXT01_DATA:) J1 W. a+ v7 J, T1 O% @
  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
    ' y9 R7 {0 b& P1 l( ?
  501. TEXT01_PPU
    ' i  h) G  [. T5 D1 z& B0 ?: a
  502. LDX #$00, N9 N- s" {7 K; h6 @- R8 M
  503. LDA TEXT01_ADDR7 q# L1 J$ f9 T9 c" Q
  504. STA $0703  B% d  R9 e& S7 P* W/ M
  505. INX' M8 A" [( s+ h
  506. LDA TEXT01_ADDR,X
    ; J3 j. p' [, H( U/ K/ V
  507. STA $0704  Y1 x- F& j- W7 z5 l
  508. JSR PPU_PROCESS
    - d8 E# T' P8 o. W) Q/ M
  509. TEXT01_W:) D  D# B" G# v) O' T5 r! W# |
  510. LDA TEXT01_DATA,X/ P: h- C$ U  \% B, W
  511. CMP #CEND. L+ n. a+ Y: {, i* }5 w9 |$ \
  512. BEQ TEXT01_START
    ) ~6 L! a4 Q8 e3 [  f
  513. STA $0705,X3 ?" t( n! M8 K; ~# |, u0 O
  514. INX
    ; T6 F7 T' f3 W3 `/ W2 a; h' p
  515. LDA #$00* U5 G" Q4 f. d* H) U( s! q2 |
  516. BEQ TEXT01_W, U' a/ @+ X/ {5 W; i) K# E
  517. TEXT01_START:
    , b$ _4 }* e- S! O
  518. JSR PPU_START
    ( ~+ }, k1 e; X* [: Z! q, r; F1 E
  519. RTS2 \3 U# s8 }- ?. ]

  520. 6 \5 r8 u# a# q1 g& R
  521.   U1 E2 O1 l5 Q% j4 ]8 _( n
  522. COLOR_DATA:
    2 ]- K; m& Z0 V  Q5 k# t# j
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$287 ]* X4 u4 P3 U, h

  524. 6 F) M3 W) K. @
  525. P1_PPU:: b4 }/ H# b' d0 ^
  526. JSR PLAYER_01_PPU
    " W; z7 l4 o8 M: k
  527. JSR $CBC0
    ' R! w& H" x/ ]9 ^9 U5 t6 J8 s% b0 s
  528. JSR RELIFE_P1_PPU! @; K- k8 L: E
  529. JSR $CBC0
    2 l9 M% Q! [( P! k0 ]' T/ T  X
  530. JSR RELIFE_NUMBER_P1_PPU
    " V1 a, l5 g5 r1 Y
  531. JSR $CBC01 N! S' R+ t, }
  532. JSR WEAPON_P1_PPU
    8 x0 r7 @$ D1 {& B: V
  533. JSR $CBC00 s7 U/ N! @+ w2 G+ Q5 w$ r/ G
  534. JSR BULLETPPU_P1_PPU
    0 r6 Q* f' H/ \) T+ Y& k! e
  535. JSR $CBC0- m( ~  I  I5 {' p
  536. RTS) c$ J' O5 F3 o4 z2 e; I5 j
  537. . c- w0 s. c+ |; @7 S4 Z% n
  538. P2_PPU:( N3 p: P3 R8 P4 J- h  ^
  539. JSR PLAYER_02_PPU
    ! S6 V* u2 K* B
  540. JSR $CBC0. ~2 G$ S& b# `3 z4 d# i
  541. JSR RELIFE_P2_PPU2 _% X  z- [. N( y3 W6 E' s
  542. JSR $CBC01 |- T1 v7 E8 q: ^0 J
  543. JSR RELIFE_NUMBER_P2_PPU+ D! \5 h- y$ L9 L
  544. JSR $CBC0
    * b. O; c+ O; W) d0 V
  545. JSR WEAPON_P2_PPU; {( q8 F# s# ~4 ?, P! F
  546. JSR $CBC0
    7 N- E& m* m" d1 q& b: P
  547. JSR BULLETPPU_P2_PPU
    % M! u5 W" }7 T: V
  548. JSR $CBC0
    1 Z  k7 b  g% Z6 K* u6 V; s  y, A4 I
  549. RTS) w/ ]! x7 s" e% \2 o

  550. 1 ]: r8 b# m5 L5 W( s
  551. ( f+ G9 _; M( K2 U/ r

  552. 1 z0 L. b, `( ]; U
  553. PLAYER_01_ADDR:
    * o1 H3 l& n! K' y0 k  a" M7 L  k
  554. .BYTE $20,$A31 t- A2 z  O) ^2 N% W
  555. PLAYER_01_DATA:: Q% z; z  b8 ?4 Q% J  m' C
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND; C5 H! p( T; i. }+ {
  557. PLAYER_01_PPU:
    ; ^6 Y4 G) E7 C7 y9 s4 p! P
  558. LDX #$00- L: O" K# u4 ]- l$ R. I* N3 _
  559. LDA PLAYER_01_ADDR) o* O3 {0 Y5 Q
  560. STA $0703! ?" @& L5 x# B* {9 }+ l1 g
  561. INX
    ! r1 {" Q# m$ _2 q+ Z, r9 P0 {' m
  562. LDA PLAYER_01_ADDR,X
    9 l5 J5 u) J8 Z; |4 u$ {. T; F1 l
  563. STA $0704* `6 P" X& m9 Z2 {( G5 ^6 t# w
  564. JSR PPU_PROCESS  X" @0 O1 O* h( Y
  565. PLAYER_01_W:
    $ g$ T- l6 a! y8 m$ o4 O$ I3 D
  566. LDA PLAYER_01_DATA,X
    ' n+ l7 Y0 n# d
  567. CMP #CEND
    ; ?4 i. S/ e% F
  568. BEQ PLAYER_01_START
    4 v; Y3 R9 X. b* k
  569. STA $0705,X
    0 I: H) @1 I+ L3 v0 y
  570. INX
    , L  w! b9 f# h# }4 x0 S) ^( J, Y1 P
  571. LDA #$00
    ( j' n* i& ?1 D1 u7 R6 N
  572. BEQ PLAYER_01_W) M2 b3 P  q' M
  573. PLAYER_01_START:
    6 ~* o1 Q1 y' a: R8 J. u% y
  574. JSR PPU_START
    / `" W' ~1 R5 e$ I' `0 g# r" S" M
  575. RTS
    9 R6 q6 R& l- t. U

  576. " w, |$ p: X1 E/ i. X1 |

  577. 2 c4 S# |4 n* m0 n* H% P
  578. RELIFE_P1_ADDR:3 ?; C; S! L: I' E$ w5 l
  579. .BYTE $20,$E3
    / u$ h: X5 N) w% \, E, y, W: K; z
  580. RELIFE_P1_DATA:, x5 G5 o/ F! B1 C1 x0 M, i7 X
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND
    ) z9 ^3 K0 R) E! P
  582. RELIFE_P1_PPU:
    + R) X5 I; Y. Q# w- j! r+ h
  583. LDX #$00
    ! V* J, t) d+ k+ ~' P" C9 N
  584. LDA RELIFE_P1_ADDR
    5 O" \9 l( \- s; O3 G9 Q+ x
  585. STA $0703
    4 K5 O( o) H/ V. w4 U7 \
  586. INX
    # y1 ^- W1 U. ?3 O/ }
  587. LDA RELIFE_P1_ADDR,X  s' z# ]5 b1 u
  588. STA $0704
    ; \% R6 C% n4 a( L8 U7 r
  589. JSR PPU_PROCESS+ E$ ~. E( F& s, H
  590. RELIFE_P1_W:
    3 t' n# Q2 h6 M" D
  591. LDA RELIFE_P1_DATA,X
    6 B+ r$ Q' F+ b. }. i7 A& P9 @
  592. CMP #CEND$ C6 K. ]: P# S& D1 b# [" j4 A* x) l& _
  593. BEQ RELIFE_P1_START
    $ |" L6 e7 y" p: B
  594. STA $0705,X! x! M( Z, W( R9 f
  595. INX
    9 C- J4 O& x* E& P0 ]
  596. LDA #$00
    - ~. m9 t$ s' q% }$ Z% s; G4 l
  597. BEQ RELIFE_P1_W
    * ]* r8 Q4 s3 {6 R& b2 L
  598. RELIFE_P1_START:
    - F: n* j. s5 T- |# U
  599. JSR PPU_START$ Y0 @# P$ d' V9 A6 [% b6 O
  600. RTS* {5 B8 }% `6 A1 a( U! ]2 h$ f

  601. * U5 t' c. U: E: a2 D
  602. - \6 i/ _$ C' D  K' \0 y& V  r
  603. RELIFE_NUMBER_P1_ADDR:
    1 J8 i# K1 q  b5 Z
  604. .BYTE $20,$EA) }0 F5 X1 ~+ {& j' V" j' F; O5 V
  605. RELIFE_NUMBER_P1_PPU:
    ' r5 h" z! U, ^1 O" u$ P( u6 a
  606. LDX #$00( l8 \) y% {& e3 F
  607. LDA RELIFE_NUMBER_P1_ADDR
    3 B; N$ R$ x2 O+ D, i) v
  608. STA $0703
    6 L& |- p4 b0 Z. _9 [! s
  609. INX) c$ K) z' C) Y; T
  610. LDA RELIFE_NUMBER_P1_ADDR,X
    % d2 i: z3 C) k9 x+ K6 q3 F; V
  611. STA $0704
    $ W3 k4 k) d/ b
  612. JSR PPU_PROCESS1 }9 r0 n6 W+ c/ T
  613. LDA $32- v1 c& J( `3 C
  614. JSR LIFETODEC$ O( d9 P2 A4 q& r& r  H
  615. RELIFE_NUMBER_P1_W:
    & J% O" j7 _- y1 F% A5 r$ _
  616. LDA $7A03
    ( I9 A# r7 R. L" f
  617. STA $07051 p6 l& {5 v! j  C* P
  618. INC $07059 `( U+ o3 F8 z! [+ |" F
  619. LDA $7A04
    " s, ]/ s  j6 r: G$ B& l9 H
  620. STA $07069 W$ g9 y9 ~  S# K3 O/ Z9 a; t. r
  621. INC $07065 W3 A+ ~8 ^) O1 [  m
  622. LDA $7A05
    % W! B8 v5 ]: d0 B0 |8 Y
  623. STA $0707
    4 P/ |" G0 B; m+ K- y* y6 o& I
  624. INC $0707$ R$ ^  W: N+ P  q
  625. LDX #$03
    ' w! b- z5 L: ]
  626. RELIFE_NUMBER_P1_START:
    3 [2 f- {! o. X$ ~
  627. JSR PPU_START
    - w! X0 v8 `) V
  628. RTS
    $ `% R4 I9 u- v

  629. * `2 i" _+ w- ^; B! V
  630. WEAPON_P1_ADDR:
    2 n/ f+ c/ m/ I6 j' k) v# ]/ d
  631. .BYTE $21,$23
    1 h. p% b5 N/ |/ E: ]
  632. WEAPON_P1_DATA:  p, ?/ @6 Q9 m3 J1 a
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND
    6 S( [8 ^* o. F2 T# ?* D. W5 g( ~
  634. WEAPON_P1_PPU:
    7 |0 k4 c) ?- v0 O' w, E4 ?
  635. LDX #$00
    * q2 R$ s! f8 I4 e. _4 t
  636. LDA WEAPON_P1_ADDR. ~; R2 N& q) Q8 t$ k# ]7 S2 C
  637. STA $0703
    5 Z, f4 S) J% a. Y4 R+ w
  638. INX: }( ~; M! j- z, P1 \* |
  639. LDA WEAPON_P1_ADDR,X2 i, D5 f" y, e" z  I8 \: e
  640. STA $0704
    9 k; ?$ [6 m! ^( F0 H' p  O
  641. JSR PPU_PROCESS2 c* Q- n( {, m. ], v: d( }" L
  642. WEAPON_P1_W:
    ( B$ W+ l0 |' ]! }; Q: w
  643. LDA WEAPON_P1_DATA,X
    9 p% W9 e% o4 q1 w& W$ ]
  644. CMP #CEND
    % {' ~! O6 M$ G% l, A. A: ?3 U
  645. BEQ WEAPON_P1_START
    ( I- e4 U) M$ ~! N1 n
  646. STA $0705,X! p8 Y5 t/ |6 L9 H# u* v; X
  647. INX- B; K0 Z; b5 K- K
  648. LDA #$00
    ; F* i) h1 }# H/ N1 u  V. N* g
  649. BEQ WEAPON_P1_W- \$ r" z1 \, U# Z4 ?$ U# C
  650. WEAPON_P1_START:% y' g5 n6 H5 V" R# S% ?' s& c- z4 `
  651. JSR PPU_START
    ( f5 |0 U4 f! B4 X' b) a/ M
  652. RTS
    , ?5 X# E/ d. a: f/ G

  653. & J( ~  E" A' c" T, a1 r- o, R
  654. BULLET_P1_ADDR:
    ' T" \0 H2 d, L; m9 j  o& \8 B% \
  655. .BYTE $21,$2A
    1 I3 A8 z  I5 S4 N* y
  656. BULLET_P1_DATA:
    , F; I, z; R8 q; A! k. f7 l7 V# Q
  657. .BYTE $00,$01,$02,$03,$04/ L8 D, {8 c0 `# v; {4 P& _
  658. BULLET_P1_NAME:
    * N9 _( v8 j/ v# H- t- }6 |$ u
  659. .BYTE CN,CM,CF,CS,CL
    , R/ l% T/ T  }

  660. 8 F' |+ V2 v5 D  j; F' I! ^
  661. BULLETPPU_P1_PPU:
    : m2 W- n; n6 Y% K
  662. LDX #$00
    . z/ [, n: L: k" m' t, |/ X
  663. LDA BULLET_P1_ADDR8 H  D5 \4 B) C( s! \9 Q' `" `" Q4 g
  664. STA $0703
    ) D& b/ X* K0 Z7 l
  665. INX
    " V3 u( C8 _4 y( \' ]" t$ f
  666. LDA BULLET_P1_ADDR,X" v! v( a9 i3 ]3 o
  667. STA $07040 D: p% B$ w( A' b* o
  668. JSR PPU_PROCESS
    - |# \% ^: N( W, x/ q
  669. BULLET_P1_WRITE:- X+ w& ~, _, G& v$ {: M
  670. LDX #$00
    ! W( Y) S; L# v( D; ~% X
  671. LDA $AA9 Y* Y+ w$ e+ |$ O; M
  672. AND #$102 c5 P/ f( V; Z9 t$ \+ k; g
  673. BEQ C_BULLET_P18 w7 U8 ~  f+ f2 B4 O
  674. LDA #CS' b+ {- P  u) A/ o* s
  675. STA $0705, ]3 \1 z2 a- \0 M
  676. BNE B_NAME_P1: \  P5 r: |. k
  677. C_BULLET_P1:
      X5 h+ }/ K- f9 u9 S. _. ?2 U9 F
  678. LDA #CC
    9 h7 c/ R9 g( B/ E
  679. STA $07050 I0 {$ m. I( d( b1 L) x
  680. B_NAME_P1:: N  _0 I, O. k0 K+ S% h
  681. LDA $AA
    ' N, O, z0 Z, c' D8 X
  682. AND #$0F
    & j* s' O5 p% I; z0 I
  683. CMP BULLET_P1_DATA,X4 R: t1 [2 d/ O  L; J( [
  684. BNE B_NAME_P1_RECMP' ~0 V9 l8 e+ d) c/ `/ f
  685. LDA BULLET_P1_NAME,X
    ) o  N) u2 [) W( U' h3 n
  686. STA $0706
    & j! l2 p! T" L& g/ J* }
  687. B_NAME_P1_RECMP( g/ i- h8 L2 W, R
  688. INX* ?0 F5 M% q5 q+ x. w6 d! \3 F
  689. CPX #$05/ J. l9 L3 }1 U9 x% C
  690. BCC B_NAME_P1
    0 ~- Y  s8 b# o) |' y5 Z
  691. LDX #$02
    ; h7 p9 b6 C5 c6 E; O' W! C- @
  692. JSR PPU_START
    ; n6 M4 q' s4 D: Q1 S; e: I, I% n
  693. RTS4 U; g/ O) e8 M# N# f+ J

  694. 1 h* w9 x: g, H4 `
  695. $ o- l9 O; v2 h" `' v
  696. PLAYER_02_ADDR:
    % ?' U5 ^6 h/ b  S8 i
  697. .BYTE $20,$B3
    2 {7 W2 w6 e, k9 r
  698. PLAYER_02_DATA:/ R4 ~6 v; L$ v5 @! d
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    ; p0 @" E$ s$ {
  700. PLAYER_02_PPU:
    4 Z( V  v; p1 }
  701. LDX #$00
    # d3 ]- H( _6 m( ^( @3 Y$ E
  702. LDA PLAYER_02_ADDR8 v) S* H# B7 a' X& C: M
  703. STA $0703
    7 e. z( b: ^' R/ T$ W; R% f
  704. INX( R7 T2 {5 r0 m
  705. LDA PLAYER_02_ADDR,X
    / ~+ L- A+ ^: v! L1 q+ B
  706. STA $07041 u# U1 f. L; {1 N' ~0 ~
  707. JSR PPU_PROCESS. L' y: U; y% y" `4 I0 p
  708. PLAYER_02_W:& @1 p+ y  s( F+ h# Z
  709. LDA PLAYER_02_DATA,X
    ! H- O$ ?0 L% H: {: S
  710. CMP #CEND! M6 Y: \7 r. C$ ^' V. a
  711. BEQ PLAYER_02_START
    ) R& P1 u. z0 e9 I' q
  712. STA $0705,X
    0 B- C  s! f8 v9 E
  713. INX+ |9 Z) c; D4 H
  714. LDA #$00% [9 G; O1 J; {/ g" ~4 t
  715. BEQ PLAYER_02_W9 V' \& F$ |% f9 S
  716. PLAYER_02_START:5 [- F. |( t" [( u# d/ q
  717. JSR PPU_START
    # R' \: O% O+ {: E
  718. RTS: T! w, M1 Q# r* e4 n
  719. ' J" x1 Q( ~, `& k3 r

  720. " r- m# t3 C' l. ^( \1 l4 Y) k. T
  721. RELIFE_P2_ADDR:& z  d' O4 q5 p5 C  C" L
  722. .BYTE $20,$F3
    , q% d1 F$ ]& @8 B# ?; }
  723. RELIFE_P2_DATA:
    . A$ `) Z, Q) A$ G
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    + z, G/ W* }% {
  725. RELIFE_P2_PPU:6 t1 l+ f$ D7 L
  726. LDX #$00
    & S) r  c5 ?+ b. Q* w4 O
  727. LDA RELIFE_P2_ADDR
    5 y" g8 s' B: j/ b, j3 F
  728. STA $0703
    * |+ }+ l1 H& N3 w" a1 T
  729. INX: [2 \9 I' S3 m) V+ g
  730. LDA RELIFE_P2_ADDR,X
    ( S7 Y; w7 s, V1 }2 l$ c; e9 r
  731. STA $0704
    6 q/ h. I3 u( d8 Q; P- w1 u
  732. JSR PPU_PROCESS
    ) m# V9 t) P) u  R4 X
  733. RELIFE_P2_W:
    - {3 }! d3 n2 s) q: Q
  734. LDA RELIFE_P2_DATA,X
    7 m' s) g! Y' X4 a+ W! R! J# z7 b
  735. CMP #CEND
    ' @8 b1 `( E* i2 |5 o6 z2 B" N" u
  736. BEQ RELIFE_P2_START
    5 {5 p. B& L4 \  d8 p
  737. STA $0705,X
    : c$ M/ Z! S, p& l
  738. INX' {  B3 V0 ^' }& ?
  739. LDA #$00$ H- D5 Y* s) A% F* r
  740. BEQ RELIFE_P2_W/ x1 _# k3 p* f9 S* [7 J
  741. RELIFE_P2_START:
    0 P8 U, t4 t- x% F- i
  742. JSR PPU_START
    - \# H* Y# b/ {: t$ [# X' o
  743. RTS
    0 ~3 y9 r$ h  S4 E, ^' `" K0 p
  744. . V* r2 d# W: f! ]1 V

  745. " R7 c' i0 n* \- A5 [! ?
  746. RELIFE_NUMBER_P2_ADDR:
    7 I1 }1 [( {  x& A$ W2 h9 m# F
  747. .BYTE $20,$FA8 q$ H4 _3 a& {
  748. RELIFE_NUMBER_P2_PPU:6 q7 r$ {4 |8 x! o  B
  749. LDX #$00
    * Y% _# D- j8 q3 C2 F! v
  750. LDA RELIFE_NUMBER_P2_ADDR* h& x# z1 O4 D$ i
  751. STA $0703
    4 C+ H+ A$ L5 D: Q/ t# }! I  H% u
  752. INX, Q& b- D8 E& r6 r( O
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    / U$ ]" r( g, f% L
  754. STA $0704
    5 y4 W) I& E, M& h; J
  755. JSR PPU_PROCESS
    ( B- w) X! j0 a; @
  756. LDA $33, F& m" L" `7 z  k- @0 c; _+ T
  757. JSR LIFETODEC
    6 ?; l/ T1 ]2 E: n
  758. RELIFE_NUMBER_P2_W:
    & Q8 S3 O1 G0 K9 A1 K! w
  759. LDA $7A035 \, i$ T! N9 z1 _8 p
  760. STA $0705& b5 T2 H9 A& ^$ F  b, F7 p: r4 A
  761. INC $0705) f5 _+ o. s8 M$ T
  762. LDA $7A048 g8 _9 O0 ?# F
  763. STA $0706
    ' j, A( _* K, t5 ^
  764. INC $0706
    9 q" K5 g  Y, G0 v" W; I6 {% S" s3 K% n* p
  765. LDA $7A05
    : c' g  A, B' u* M( q
  766. STA $0707* C1 b: Z( M8 ~. K' |0 l' m
  767. INC $0707
    ' W1 G& _3 r+ ~  H  g$ i
  768. LDX #$03
    * t( m8 ]  N3 ~* z' g8 C
  769. RELIFE_NUMBER_P2_START:
    3 n" ~8 @3 O3 J" e5 r7 J3 m0 {5 v
  770. JSR PPU_START
    ' G4 L. Q% E+ `* A+ E+ y  r: d
  771. RTS  j, Q1 t1 w! t+ E

  772. . c" t+ T9 M" Z; j8 V7 p
  773. WEAPON_P2_ADDR:
    + ^; `* W8 C( ~+ N. K
  774. .BYTE $21,$33& F; ]3 z$ T% ~* c
  775. WEAPON_P2_DATA:* w) s$ E# M1 l8 y. }' m9 |
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND/ E! h$ H8 N6 G' U! d, p
  777. WEAPON_P2_PPU:, m% C- Q, ]' [4 r9 m9 {7 F) E
  778. LDX #$00; T8 T" X$ ?( t; E- r6 @( g
  779. LDA WEAPON_P2_ADDR4 }( O* @% x2 q: ]
  780. STA $0703& [; M+ z7 N% R' j+ ?
  781. INX
    - B* @! j* H5 V# ^# o, j
  782. LDA WEAPON_P2_ADDR,X3 X. ]5 f; [  ~) o
  783. STA $0704  ?/ B* t- g' i, g* Q: G+ `/ ~
  784. JSR PPU_PROCESS
    " |# ?; q) \: G1 _0 ~1 x6 v5 p
  785. WEAPON_P2_W:- r- l3 A# Y5 _6 c" t# \
  786. LDA WEAPON_P2_DATA,X5 J: a" w- r! S9 J$ K; P
  787. CMP #CEND" i% Y0 o. ^& `( b& h+ \4 ?
  788. BEQ WEAPON_P2_START! u& F* L, j  C2 ]" c) Q
  789. STA $0705,X9 I0 K4 {! G$ u, M
  790. INX, W6 h* v* R1 v: }8 m7 E
  791. LDA #$00! s5 ?0 l: i% a+ l
  792. BEQ WEAPON_P2_W
    4 M' e0 M0 x5 {1 Y; Y$ S, m: @
  793. WEAPON_P2_START:
    % {. f0 |2 O; ^/ ^3 i, \; r9 R2 R
  794. JSR PPU_START% A! D" {, k; M3 S
  795. RTS! L; d% [# m  v2 H' h

  796.   |3 O; Q) m+ G/ d
  797. BULLET_P2_ADDR:
    8 s& {, |. o  W3 x" }% k
  798. .BYTE $21,$3A
    " H0 v2 {2 x6 m5 Z/ V0 o
  799. BULLET_P2_DATA:
    - C0 \- _) E" l/ M; u
  800. .BYTE $00,$01,$02,$03,$04& V$ o, E+ t, T, ?7 c
  801. BULLET_P2_NAME:
    % b& t0 ^# J3 p. r! o2 g0 `7 m
  802. .BYTE CN,CM,CF,CS,CL1 Q! i8 B/ g( W% f# R7 v5 p

  803. 1 L- J* r' o$ H- b. A3 c5 \
  804. BULLETPPU_P2_PPU:
    : P2 R! n) n( {" g3 r. a9 ?2 U7 Q
  805. LDX #$00
      M5 A7 {$ q0 e" O  b7 |8 O3 G# B
  806. LDA BULLET_P2_ADDR, ^4 v, _6 X% j4 b' f7 B4 R! C7 k
  807. STA $0703) D# l* I& U9 o  t1 P7 k4 ]+ o
  808. INX
    $ x. l2 T4 @3 G  P3 F
  809. LDA BULLET_P2_ADDR,X- u: q+ |, Q: J, X) [
  810. STA $0704
    4 f$ c, U# c" m/ q( l7 l
  811. JSR PPU_PROCESS5 Y0 B: z/ c8 N+ B, H
  812. BULLET_P2_WRITE:: Q! e, v( h, b
  813. LDX #$00
    4 Q8 Y. D! F2 J6 n" T
  814. LDA $AA
    ( L& ?( X) E3 C) V5 p6 i
  815. AND #$10
    $ _5 @" \- ]8 ^# x% v
  816. BEQ C_BULLET_P2
    / m. @1 Z) ~$ z3 C
  817. LDA #CS  |( C+ D8 X( ^% D! J5 g6 o, C
  818. STA $07056 T- B; f5 {% l( ^
  819. BNE B_NAME_P2
    2 f) O* [4 ]5 `4 {
  820. C_BULLET_P2:- o& ^+ w" q6 M/ x+ P4 ^* h
  821. LDA #CC
    / [1 m8 ]7 C) J. X6 @5 K, q8 K
  822. STA $0705
    ! u+ S; n; [$ u  Q: E
  823. B_NAME_P2:9 g& k5 T0 ?; Z* g: q$ p
  824. LDA $AB. e  e# m" s% g$ h, Y
  825. AND #$0F% P2 G: G" C% d8 Q2 P4 Q$ G  v& i
  826. CMP BULLET_P2_DATA,X
    ; c$ b0 V2 C# ~* X. L5 k
  827. BNE B_NAME_P2_RECMP
    . W  _0 Q! N: I7 K+ j
  828. LDA BULLET_P2_NAME,X
    / N3 r+ J- z' c( S0 D: ~( A  q# `
  829. STA $0706" E3 W5 V( O" O1 D8 H
  830. B_NAME_P2_RECMP+ _" m' I! p4 }0 J
  831. INX
    9 i! t# N- y7 y; t% g/ i& V6 p% |
  832. CPX #$05
    ) X2 Y; P, K( O2 m2 i
  833. BCC B_NAME_P2
    $ |+ a8 ]: p6 S: J
  834. LDX #$02* P. \! C% q" g( o- h/ K6 L; r. o
  835. JSR PPU_START
      e3 a8 L1 `/ J+ X
  836. RTS
    9 {: \; I6 h/ ^8 y6 j
  837. 5 T7 R) v; _+ }, c1 _# S

  838. 1 N! p7 J/ O2 n; c/ p! S4 v1 ?

  839. 9 G8 _# U: ?; R3 D! A; n, \

  840. * r& S  |9 z/ q+ i9 A" \8 p$ F

  841. # b9 F0 \& k& p& V- W. Z

  842. 9 K8 _: T; f; c, I4 T' t- x  t1 \* ^
  843. LIFETODEC:                ;十进制转换$ \3 @0 D+ _4 l, y- e7 V
  844. LIFEL1:        ;initialise
    9 J6 j- T$ z! A3 i, l; t
  845. STA $7A00        ;$7A00=F3
    ( u& n# t1 Q4 k7 O% D* r
  846. LDA #$00) ~! e! j5 I0 F' b
  847. STA $7A03        ;$7A03=00( l- s% e, e" r2 ~) a& G$ |% \
  848. STA $7A04        ;$7A04=00
    * t) t1 I/ `7 M1 C8 V) o9 g& ~
  849. STA $7A05        ;$7A05=00
    : r+ n( |* g- `7 S" D* t
  850. LIFEL2:        ;copy data $7A00 to 6001
    9 `$ g! y* m2 `9 I) P
  851. LDA $7A00
    6 R' e! E' F0 g* H* ^, }/ O7 N
  852. STA $7A01
    6 J* Q% X( W. U; F, ]

  853. $ }  I% f6 `) G7 W( N: g+ y
  854. LIFEL3:         ;hundred3 F2 y( I+ D5 z6 S$ b& B
  855. LDA $7A01+ E/ \1 H3 Q5 J: I! n9 S- \
  856. CMP #$64  ?' W$ Y0 ?) E! R% }. c+ T
  857. BCC LIFEL6                ;$7A01<100 goto L6
    ) g) ?. D  O: P' S4 l
  858. LIFEL4:( @6 n# v: F* s8 L
  859. LDA $7A01
    9 `% ~% I! c7 g1 x
  860. SEC
    7 D& X5 Y* ~0 N# F
  861. SBC #$64        ;$7A01=$7A01-100
    . j+ _8 A. D" D5 a
  862. STA $7A01( ?" l5 E3 t* p# A
  863. INC $7A03        ;hundred++) u: a3 y$ X/ F, k, r; |
  864. LIFEL5:. o1 Y" Y; w: E; c/ |  q( b
  865. LDA $7A01
    6 T. Z- t. M4 N
  866. CMP #$64" e. ?6 ^# E* ?
  867. BCS LIFEL4                ;$7A01>100 goto L4
    / A" R/ i/ t( e$ L* r3 \+ v

  868. 0 q9 Q  u3 h) z/ D/ H' Z+ J, _; |; ]
  869. LIFEL6:        ;decade
    " B! ^) r0 j4 }4 Y- ?8 ?  j
  870. LDA $7A01" c6 b& ]/ Q& y- b' T
  871. CMP #$0A* U1 |, ?' C1 N3 h
  872. BCC LIFEL9                ;$7A01<10 goto L9" B  R0 f3 `# r' R5 B% Y
  873. LIFEL7:        : g4 }" p+ j. g1 |( _. j
  874. LDA $7A01
    , J, s& ~# z: H  a/ P7 b
  875. SEC2 k8 ~4 {1 Q# n
  876. SBC #$0A. |. D& V- E+ g: u: M
  877. STA $7A01        ;$7A01=$7A01-101 h: a; @% F" ?* ?0 z
  878. INC $7A04        ;decade++
    , t5 s5 H. L1 v$ X* j7 z! i
  879. LIFEL8:" z$ e, J: I/ K; ]$ ?
  880. LDA $7A01
    3 G. \# a* C- A8 P6 k
  881. CMP #$0A
    ' @9 A8 v: c* l7 a$ |5 o1 w
  882. BCS LIFEL7                ;$7A01>10 goto L7
    ! Z! |6 M, g. J+ @, l( x
  883. ;unit/ x$ k! [0 y' |2 `9 ?
  884. LIFEL9:
    9 C2 c5 U5 q+ {) K" b, n; N
  885. LDA $7A01        ;$7A05=$7A01& N$ [' m+ a0 y4 i5 ]# e
  886. STA $7A05        ;unit
    + [7 P  k* u2 V1 h/ H0 L3 m
  887. RTS        ;return  e1 X1 ?9 _& S6 c
  888. : @+ X# }. a" H; _9 T

  889. 7 l0 i  V7 a. r$ L3 x
  890. 7 {1 A# _2 ?7 |  S. E- X
  891. PPU_PROCESS: ;PPU地址处理程序7 n8 b) D5 F9 O& h& U8 l9 s
  892. LDX #$00
    ( c6 c+ A! l; i( M; k; J
  893. LDA $FF
    / W8 Y- d* T& j/ D
  894. AND #$01
    ' K* b: v/ S) T4 Q$ o2 R) F$ G
  895. BNE PPU_2400_27C0! a0 `1 q! i  q' z* e: g: S
  896. PPU_2000_23C0: ;命名表16 \9 [( w4 c0 o9 z$ A
  897. LDA $07033 w6 c% h0 @! {' |* \- ~
  898. AND #$FB
    - o8 L+ d2 V* U/ ?4 T2 L
  899. STA $0703
    + t2 `! l( L" l# N' W( o, v8 G  z: }
  900. RTS
    7 Q9 D& t4 h$ k% B) W
  901. PPU_2400_27C0: ;命名表2( l; N$ c8 g4 g! a, K. d1 i
  902. LDA $0703
    2 u& }5 _) j  y: j4 o
  903. ORA #$04
    ! H" `& U! O6 f  D
  904. STA $0703' Y/ ~; L- ~' Y& T3 s. o" `
  905. RTS
    * i  f8 E6 x; p8 d( H6 g2 Y

  906. % q/ l$ s3 n. x2 F. G; x
  907. PPU_START:  ;PPU数据写入2 {( M, N: ^1 x$ \1 H2 N, I
  908. STA $21! ]$ W# u5 `, X- o# i2 s
  909. STX $0701
    ( R* A0 r* j" h, L5 p
  910. LDA #$00* j; a% E, ?0 G5 h
  911. STA $0705,X3 I& |0 G$ b7 p8 m4 @0 Q
  912. LDA #$01
    9 O( n8 P) J% [9 R3 a  z
  913. STA $07004 ~! D+ {  G* _8 P
  914. STA $0702
    * I3 \% e% Z% _  J6 ~0 r
  915. RTS* ?5 C: K, O+ C, i* @2 M* i! Q
  916. ( g0 M1 y6 S% z9 t$ A% _2 [9 q
  917. - e& ~! v9 C/ O& t* ]

  918. % a. j9 c5 h7 t- o4 M

  919. / w4 n4 ^' c( a: p) V+ e
  920. . M5 P% K4 {4 R! Y, D; e, z

  921. 9 M% C5 E- A  ^* E
复制代码

1 @6 z5 c' }0 ?9 F- b" B4 u, c

本帖子中包含更多资源

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

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

签到天数: 2115 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!
2 ^$ K/ A/ Z. {# ]( X& x, [: X

签到天数: 2544 天

[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-2-19 06:00 , Processed in 1.108398 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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