EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    . p# n) I2 [% k0 w! R* U6 O
  2. 作者:FlameCyclone0 E; x0 }) q, i4 z
  3. 时间:2017.2.12
    $ Y9 w, H9 W5 G" D( C8 _) U3 {/ I8 R

  4. ( T3 R( X$ V& i, r4 j8 ?
  5. 按键跳转:- N" Q2 ]# x" t0 G) Y# ~
  6.         C1EF:95 F5 94 F1
    - v6 d5 z- r' J8 |  T  O+ L1 I: ?
  7.         C1EF:20 70 FB EA- R+ d; ?! Q% n5 y% m5 p
  8. - g2 v8 c" R8 b; {% `0 _* a
  9. 滚动偏移:. r/ _* P! S! [! C, O3 C' F, ^! {' K
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20
    / e5 y4 T* B- v
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    , Y# @0 T* S9 C( u* s- J

  12. " R; w; g* e4 R1 }
  13. 背景调色板:. m1 r, X" B. M" [& B0 _# a
  14.         CF20:9D C0 07
    2 U) Z0 c! i5 K5 W) Y6 F' B
  15.         CF20:20 A0 FB
    # d% w( n# G6 G; D0 I2 {" b) z

  16. # v7 \7 ]: m* O5 j9 t7 Y
  17. PPU BANK号:
    , B* @& `; `  u2 M1 ^5 y' D) z
  18.         C8C9:9D F4 07
    ; Y; m3 r2 U' B. r( {
  19.         C8C9:20 B0 FB
    9 V0 p1 i: C1 L; t& l
  20. 4 [3 q+ [! q  g+ F7 {
  21. 按键跳转:
    $ J2 z6 G4 P% s  \9 K/ z2 E
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    7 M3 p6 K$ o% u+ p1 Z( k. D
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    2 f; d# x8 }$ ]1 N6 j
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF
    0 L: s. }. H2 d. ?$ f2 G$ G
  25. 0 S$ [5 p. l6 C6 t4 F* P
  26. 背景调色板:0 s0 I$ g  {- e) N1 t* c
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF0 ^7 `1 z8 `0 C$ V5 Y
  28.   l$ ^  M0 W9 ~5 [. b8 T
  29. PPU BANK号:+ F, r! X! G8 _8 M2 S
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF6 ~) @: d7 q5 h/ J; J
  31. 5 I. C3 \( E# D9 n6 T2 M* Z8 D- X6 v
  32. 滚动偏移:6 J" g' g0 J. Q( |, h! V
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60& [# e0 R. n  u) [  j0 v9 b! s3 @& Y$ t
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    7 `( G$ y8 a5 I; T0 M. i8 |  b

  35. 2 w0 ^2 A4 B; F* {( |

  36. . t9 ]2 V8 P! x" X& U. ]5 {) @1 [
  37. 切BANK后A000:
    * q7 {" v) I/ P  n% 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
    : H1 u" `  ]4 q: ]

  39. 0 Z% w& G  E" i" A

  40. 3 o: i& t% ^1 @- I) a
  41. 6502 simulator:$ W$ z0 n0 H* n
  42. PPU写入程序:6 u9 Z, w1 q* q6 Q
  43. .ORG $A000
    . f. k! n- B0 B
  44. CSP = $804 O  w. I: a; A: K
  45. C0 = $81( C& Z/ q( j/ `
  46. C1 = $82$ Z% c' {9 p* j1 e6 V* ^: d; A) S
  47. C2 = $83  D. o: y6 @# _  ^3 v/ u1 n! b- B
  48. C3 = $84
    7 [; e. C. V7 ~. j9 v: W4 |
  49. C4 = $85
      z7 v0 z( f6 l8 E. _
  50. C5 = $86. ~- o. F9 z) ]8 [& E& t. L4 w
  51. C6 = $87
    ( o0 V- _! ^2 ~" a5 b: a" y7 Z" B
  52. C7 = $88
    + q1 E5 O5 D8 _0 k) ~5 [' Z/ a
  53. C8 = $89
    4 d6 w8 D; t2 v/ O( N, J5 \" `
  54. C9 = $8A
    " C# Q! Z0 y/ L
  55. CA = $8B
    ! }- s% F4 Y) w$ d! W* d8 k
  56. CB = $8C
    + f: N5 v9 B7 ]8 U. ^8 k) t6 Q3 c
  57. CC = $8D4 X; B* b8 E9 ~1 i+ S8 O7 m! Q2 I
  58. CD = $8E: B- b# j1 w! l' \1 E$ O
  59. CE = $8F
    4 e4 l1 ?: p( y! w$ E( o6 p
  60. CF = $90- l- G, q5 C4 D  Z8 L+ Q. q" v. k
  61. CG = $91
    6 T2 l3 t/ {6 S5 ?
  62. CH = $92/ e) |/ {2 v. i$ M& Q1 ?9 O6 p* G
  63. CI = $93
    ( i  v1 m* {- ^  _5 ]4 s
  64. CJ = $94
    : ~- H: `; ~0 L$ Q2 w
  65. CK = $95# }( S) v2 l! B* x; \' B3 [( I2 Y) |$ p
  66. CL = $96+ Y  E$ }) b- B* T* S- O# [* q
  67. CM = $97
    % l* T( W0 A3 }* J$ R. Z7 K' T2 R
  68. CN = $98/ ^2 U" R+ A+ |
  69. CO = $99
    , @6 [- M! d1 ?6 ~
  70. CP = $9A
    " B5 A+ D- w% B8 T4 p7 G* k# C
  71. CQ = $9B
      B& ^# t' `0 e8 C7 C# J
  72. CR = $9C9 ]/ e* R+ a8 B; y. f6 n9 Z+ `
  73. CS = $9D- u0 _2 `' Z2 `8 t2 ]$ J1 r5 ]) W3 v
  74. CT = $9E+ ^  l" _- }  P/ E. T. h
  75. CU = $9F' g( L1 |( W8 K( X) X+ D5 S8 i9 h) F3 l
  76. CV = $A00 B8 @0 e: W( m& z8 [2 j3 x+ Y- F
  77. CW = $A1
    " D9 k. y6 T' K6 j- @
  78. CX = $A2- `( u- F9 \8 @. {- r
  79. CY = $A3
    ' l! q5 X/ X! f0 t; @! h2 T
  80. CZ = $A4
    % K% e4 d1 ~( \; i3 X6 y' Y' d
  81. CEND = $FF
    % c1 e" i, }/ z" ~% o

  82. , ~* U+ ^" h0 }; Q% ^
  83. 4 o; u8 t; n, Q" ~0 t5 c8 A; V
  84. CMP_RE:
    0 a# z* `2 o4 L- A6 Q
  85. LDA $FF1 p( x6 y5 D; E* J
  86. AND #$7F% Q* W' H2 h4 y# H
  87. STA $2000
    9 s) U6 U1 k( @6 F% F) m% N
  88. LDA $2002
    $ ^+ _* {# H9 B( r- m; _( F/ F0 e2 _
  89. LDA $25+ x# D5 H3 K$ U, F
  90. CMP #$018 H! g- p' n4 E2 H* M
  91. BNE PROREG
    4 s0 T' I9 m; T0 k
  92. LDA $F5,X
    8 [0 h" e! s8 B3 E0 [$ C4 x: Q
  93. AND #$CF2 y3 o# F; ^7 T" X
  94. BEQ PROREG
    ( h" d4 O8 K- P% F) P5 q0 h9 c
  95. JSR PPU_CMP8 |* c9 w' u" ^9 O1 w) ?
  96. C_RE:1 O2 T# @" q/ }1 U; ^: |, f" U
  97. RTS6 o% @( o7 Q# S1 h4 I; \9 r
  98. PROREG:
    0 y4 G- d3 E+ X+ Y. \8 F/ G+ ^
  99. PHA% m6 q1 ]7 `9 }# X% f
  100. TXA
    0 L2 Q1 y" Y& [/ L6 j
  101. PHA
    + @4 e: O& a6 k" s
  102. TYA* A! O) g# T+ V( e; H+ w; ]
  103. PHA% G( N6 y6 N8 ~: a* C
  104. LDA $25+ Z. d% p. s% O$ E  F- h% @; E$ o
  105. CMP #$01% s0 j) H" V0 N
  106. BNE RE
    ' @6 u4 m. n4 J
  107. LDA $010A( d% t. F! P3 {, ?/ P
  108. CMP #$00
    1 h/ M2 ~  r: i! j
  109. BEQ P1
      e  Y; g; P% v  h3 {8 D* L$ a- D

  110. 4 Y5 R5 n; G& f4 Q3 u
  111. RE:3 e" h2 r: y/ k8 c. m
  112. JMP PPUWRITE
    8 _& H# n) G7 K6 k$ v; d' {: N
  113.   M4 S9 q5 Q/ T. d9 u* P
  114. P1:                ; 条件判断" y. y$ ^, v$ q. v9 X, A  E! l. x
  115. LDA $7FFF
    * I6 _" C/ ^; Z6 g& B7 ?3 @
  116. CMP #$FF
    ( \2 _/ v% n. _5 X' p9 Y3 k8 g# D) ~
  117. BNE P1RP: q8 G6 J! ^$ q: d1 n# h
  118. LDA $7FA07 }2 P6 Y9 P, {* f- m0 R; t" N
  119. CMP #$00
    3 N9 h1 u( n/ n- ~% \. m
  120. BNE P1CMP
    3 h5 h3 Y4 i  f5 m8 ?( `
  121. LDA #$FF, ]5 @8 I$ |6 \; j* }4 O
  122. STA $7FA0
    ) d3 i" y+ {5 z  c5 {
  123. JSR CLEANA
    6 t4 F% N3 P$ c3 j8 f! x1 M
  124. JMP PPUWRITE5 c2 I/ X7 F% ^" T7 X" J
  125. P1CMP:
    : A, E0 z5 k0 H' P3 N, Z. R$ m. z
  126. LDA $7FFF
    6 ]0 e$ i" l: |2 C3 m7 f
  127. CMP #$001 ^- r% U! Q  O+ ~0 j  I
  128. BNE RE! {. e  ?' Q# d9 \5 y  h
  129. P1RP:' y* ?: w  m! V
  130. LDA $20020 J' L& s$ U8 v, `
  131. LDA #$00
    0 M1 w; j7 l) o5 x- V" k7 ]8 U
  132. STA $2001( L6 ?5 A, P; j; ~
  133. LDX #$00
    9 |: O; G' V5 S; w; \
  134. LDA #$FF& i# P3 |6 R/ T: v: c! D
  135. STA $7FFF
    % w" o5 ~, u" H: m0 @% Q
  136. STA $7FA04 k7 s, [3 X( Y& T+ h( p8 J( z
  137. JSR COPYPPU% a. q* U) {$ q9 k1 H
  138. PIRP2:+ z% H. \1 Y" o' _( D/ W$ [
  139. JSR CLEANA
    : g/ M  f! [& @; Y" N# g5 q# b8 y
  140. JMP PPUWRITE0 f0 e/ S7 B0 R! G1 C

  141. ( Q& G( L6 v5 L  R' B0 T( s. i
  142. COPYPPU:
    2 S) I- h; C9 F6 Y
  143. LDA $FE  r% I6 ^: W# N1 N0 |- x0 N  f
  144. STA $7F50
    4 F: T% f$ }$ k0 H
  145. LDA #$08
    1 [, P8 Q5 R! r9 g* {9 D
  146. STA $FE
      B3 G/ _+ }" b7 |. V* J. Q
  147. L0:
    ) h8 M" b) T  c! E" A0 B
  148. LDX #$00
    7 C1 a1 e# o/ P8 x  [
  149. COPY_07C0_07DF:. }# J0 p7 J& t# U$ I5 F
  150. LDA $07C0,X
    $ M& i% N# z4 `: c# E# B
  151. STA $7F00,X0 f0 w* _  x4 U
  152. INX+ A) f. s1 ~. g+ b
  153. CPX #$40
    ! g& e( K( d* m6 i
  154. BCC COPY_07C0_07DF
      N, Z- T* m: u5 \
  155. LDX #$00% M! i# {. ?6 C# O6 N
  156. PPU_07F4_07F7:2 e" V8 K" v3 t
  157. LDA #$00
    / o7 v3 a7 [& `4 W
  158. STA $07F4,X( e/ M, }5 r' I" G" q' X2 H1 ^
  159. INX
    $ ?- N1 m) Y2 b" U
  160. CPX #$04* z4 v" O" A2 y& ^( m6 l/ ]- x
  161. BCC PPU_07F4_07F70 b9 z+ }& v4 ^2 E1 _& S
  162. LDX #$00  h5 O& ]( N7 E9 o% l& Z
  163. COLOR:) x9 s. e5 R, I
  164. LDA COLOR_DATA,X
    ' V% n3 N5 d3 C  R7 J
  165. STA $07C0,X
    ! M, Q; W/ @8 w2 J% v1 A& J; U
  166. INX8 W3 }8 o. W! E3 r
  167. CPX #$10
      b  ~# @4 U9 d6 Y! w5 m5 {; l
  168. BCC COLOR
    8 p; W- R7 M& u6 A: M
  169. # p3 `  q9 S- f8 X9 u
  170. PPU_COLOR:
    1 J" J# }2 D1 m4 ?( c
  171. LDA #$3F
    2 l$ T' R* e% K7 \8 ~
  172. STA $2006
    3 D7 c9 g- o& v, G
  173. LDA #$00
    6 N! y% @4 }# @, j+ @
  174. STA $2006
    $ c5 n" ~9 G6 `9 W
  175. LDX #$00
    6 g0 e9 D* y  V) O9 p8 M* E' w$ i) |( g
  176. PPU_COLOR_W:
    # {3 W1 O4 Z; u% ]' U) d; w& Z7 F
  177. LDA COLOR_DATA,X  a. K) F1 H: u3 P+ i
  178. STA $2007) O% O6 E* c* P! a3 c% E# k) |- z
  179. INX" d  o0 N: n2 G/ A. n
  180. CPX #$10
    " t/ F. }4 ]7 x  @; r6 Z1 K
  181. BCC PPU_COLOR_W
    ! ]: ]/ M+ b7 C% S# l, D; \

  182. 0 L( e1 Q6 e4 v3 m! c' F; m% ]# A

  183. ' l2 J% r( D! q  G4 a
  184. LDX #$00
    7 |- i* N( F' x, x1 U3 J# Y
  185. LDY #$00! g9 D9 W1 }' V, O  u
  186. LDA $BD2 s3 x9 v1 o  y
  187. PHA' e9 b2 b  p0 `8 ]3 b
  188. LDA $BC
    ( ?: \* k% d  q- }- ^
  189. PHA
      z2 u% L: k! I3 Z. g
  190. LDA $BB
    $ j7 P& G. m3 `: m( N
  191. PHA! d) I/ @5 n; T' o
  192. LDA $BA
    : k" W& F/ {% ?' l
  193. PHA
    ) N3 Y% {: F. V, l7 r
  194. LDA $B9
    / ~$ V! T/ c0 _
  195. PHA
    9 v  {2 U4 h) s9 `$ `
  196. LDA $B8
    7 ~4 Q! H0 O, ?, e  q2 i* f2 _5 H, m
  197. PHA7 j, P- ]; L0 l2 U5 E% O+ L4 N( ]
  198. LDA #$00
    " M; N! W+ s4 Y+ v
  199. STA $B8
    ( X, N9 a6 c2 _& c3 g) D
  200. STA $B9) g; T2 a' e( B1 u: D. |/ B
  201. STA $BA- r1 j% V4 \+ D! H; ]' Y% l
  202. STA $BB
    & z' n& @* G1 v% R5 ~
  203. STA $BC
    . Y+ ^6 R5 v( a) y5 V  P: I
  204. STA $BD
    0 n* U$ O9 y7 C
  205. LDA #$00& X3 L1 j2 ?% R
  206. STA $BA
    ' ?7 F; k; ]; }' C& v: L: e
  207. LDA #$20
    ! j4 X, S; W) S; L. O
  208. STA $BB
    ) @9 K# k! q" q0 N# s4 n  G
  209. LDA #$00
    / e6 \0 y: D1 V& z! V  |1 l5 v- @: ?
  210. STA $BC
    # q% r8 N( c4 w1 `
  211. LDA #$60
    ; b" V2 z+ {4 J, {/ ?; k% r
  212. STA $BD
    , ]: x  Z! s1 Y

  213. * D7 g% h( e7 A* W
  214. L1:                ; PPU复制
    ) _1 `5 r1 D: Q4 `1 T8 c) r) Z
  215. LDA $BB( M" O$ \" M7 P; T  M
  216. CMP #$28
    : N  e0 p# h8 `, Z/ j
  217. BNE L2
    . `% [! W$ S& W" R) B
  218. LDA $BA" p# k9 ^2 j! T( Z; c6 C
  219. CMP #$005 Y8 E+ x$ W$ f# a  ~/ d
  220. BEQ PROADPLA
    / l; h/ u! {7 u5 @3 \: \0 y
  221. 6 V2 Y5 z7 Z- S
  222. L2:
    . f) t  N% A( j0 F6 @! R# e
  223. LDA $BB
    % ~3 R. p9 Z6 C# ^! A8 a
  224. STA $2006
    # P4 w$ ~8 o, `# x8 f
  225. LDA $BA
    0 C9 }7 h7 l2 w5 j+ Y3 s
  226. STA $2006
      D; m/ F5 A8 W/ V
  227. ; }( W% x: j5 ]1 X7 J
  228. L3:2 A# |3 P% t6 u! Z5 S
  229. LDA $20076 z: v$ S& R" w4 _+ o  O
  230. LDA $20075 Q2 U1 K: q8 V
  231. STA ($BC),Y
    # U7 R, d# x, @) {  j# A+ X* ]
  232. , s  \$ S0 Z  T8 `7 w' W4 T9 p& Q, k
  233. L4:) t: L  W9 k# I
  234. LDA #$00' ~4 n) I% v# B5 ?2 B
  235. STA $2000) g- k4 h9 J; _: T* I' d
  236. INX' F: [- K3 R, m. r, r( G: L5 t
  237. INC $BA3 L* }0 u4 A( C& c3 A
  238. INC $BC
    ' h( D; s+ E" W& @: Q: p- n
  239. CPX #$00
    * Z' S$ ~5 N: |1 y
  240. BNE L1! y! i& b1 M* \5 _
  241. INC $BB
    ' q0 j- u& n8 ~( F4 E
  242. INC $BD
    & W2 `2 h1 Y& Q% P
  243. JMP L1
    8 X- o" q' O" {' p

  244. ) P' U7 Y# M2 O. y" A- V  i% `
  245. PROADPLA:                ;出栈
      u8 v* y1 N) L' `* y3 F8 L  F/ n3 U
  246. PLA
    6 a+ @( |3 \& S% v3 K- g3 s
  247. STA $B8+ m0 C8 i: j" X
  248. PLA# Z( t' i' `) b' h2 n
  249. STA $B9
    " i3 j/ X2 Z) Y
  250. PLA7 Y' t. W5 z; b0 ]
  251. STA $BA
    * e5 E9 M1 c0 [2 R: `6 _; A
  252. PLA; b/ S: w+ g7 f  p
  253. STA $BB: v$ L' ^( m2 v$ b5 _
  254. PLA
    7 H: [; U/ _# P! }
  255. STA $BC0 R& `- A, H4 _* @+ h3 j" }
  256. PLA
    , h$ `* p( d; \
  257. STA $BD
    , d& e* {, @* i" ]% D
  258. CPRE:( d8 R# Z6 R* p4 k! G( S
  259. RTS
    ( K; i5 S' d% G; C( [. S
  260. ; }* F/ l8 Z" ?+ @8 K
  261. CLEANA:                ; PPU清空: f0 T& l3 G0 h% `! G" }! ?  r
  262. LDA $BD3 |/ E+ |* V; P* M
  263. PHA1 T+ g. _! t4 ]
  264. LDA $BC
    4 G8 b' o( [( }' z# c
  265. PHA
    ; S; K6 ?6 H! Y6 `, z
  266. LDA $BB
      G! |5 C6 v+ @+ y8 h
  267. PHA
    2 N' ^2 E+ C5 c! c5 u- T3 e
  268. LDA $BA1 b$ u, \1 t$ Y9 v, {
  269. PHA' q! d9 o+ d% N* |1 |
  270. LDA $B97 q6 X! D' `- |/ a7 p- g8 g; p
  271. PHA; E% q  N& D9 ~, r1 g6 Q7 }; J2 W  T
  272. LDA $B81 u/ O$ }' N. ~/ ^/ f8 ?
  273. PHA
    3 r3 f) q: `! s2 G' K+ ?
  274. LDA #$00
    9 N8 H0 r) C5 W3 c% ]
  275. STA $B86 u# e/ |& S& h* V; M7 l) I% \
  276. STA $B92 m4 s: {2 j0 _7 ]# ~6 |
  277. STA $BA; Q  p5 @- z: v4 l  i- h
  278. STA $BB4 m' Z1 w) t' r7 p6 Z
  279. STA $BC
    . U; k& x# O; H5 w  K
  280. STA $BD3 y1 n; {( Z8 I" N
  281. STA $2001
      H9 Y3 V5 ?/ H& \9 N& T
  282. LDX #$00& b$ g( D4 ?! z5 w$ i9 }
  283. LDY #$00/ B/ F' ?& n. b3 L$ Y% X
  284. LDA #$00; W0 s( l  ]4 b( h& f, K( D
  285. STA $BA; @  l1 m% {' u5 B! h# b" }
  286. LDA #$20
    . X" d5 b/ s! B, J
  287. STA $BB8 v9 u( T7 P2 c& }

  288. # z2 E. q1 w9 b: K0 {9 M
  289. CL1:
    - {; y4 b. @! |; K+ S
  290. LDA $BB
    9 Y# p( t" Q! x( m: e; [* H( S
  291. CMP #$28. |4 n, ], J, {$ s. n: F  w6 I& r
  292. BNE CL2
    6 y, V( D- V, {. B  L
  293. LDA $BA! L& L0 h; m0 h0 C9 D1 Z3 Y
  294. CMP #$00% T$ K; K: N- v( ?8 n
  295. BEQ FREEWRIYE
    4 w6 I& C' U$ m5 S, F4 i
  296. ) C! c6 q6 n4 y9 P; p/ C
  297. CL2:
    ! G* _7 j2 u, R
  298. LDA $BB
    % ]' p& P. y- `
  299. STA $2006
    & d( H6 P' f& F5 F. ]) \
  300. LDA $BA
    # I, B5 @4 p) \( h* V1 o( C% W
  301. STA $2006, ?0 S6 ]' J: N1 m$ X0 M
  302. . w* Y, q% N6 W$ Q
  303. CL3:
    ; T6 U# X2 i$ E$ |. q; U
  304. LDA #$00
    5 {; d7 S  b* F. V
  305. STA $2007
    5 I( A' D# w9 y7 j" [* i
  306. , U& e( E  Z& G. ~
  307. CL4:. z, Y$ b6 d5 @9 j# P/ E7 F, a8 [
  308. LDA #$00# Y- {  n/ `- R, D& g9 J
  309. STA $2000
    $ u9 b% s% g6 D5 \% M
  310. INX
    2 C! ]: U! `! X2 i) l
  311. INC $BA
    # G, x7 t$ _) I) s. ~" @
  312. CPX #$00' W2 A  x/ ]4 K) ]' F
  313. BNE CL18 o$ N8 c) V0 @- c* ^2 g( r
  314. INC $BB
    1 z' j  ]/ h4 k8 p7 [8 L# w! d
  315. JMP CL1
    ! {( G) T. S$ e

  316. 6 l3 D" C- |! m) y1 G9 L3 c2 u
  317. 5 A  ~) [9 ], n& m* w: N0 d/ F2 E
  318. FREEWRIYE:# `* \; }, J( p2 F
  319. . H/ \# H2 V0 P5 x
  320. NOP* n! O% U5 h5 \" `3 w! U8 Q
  321. ) _3 }4 h1 I, m/ v1 b' W

  322. 3 ?7 n* @) E- C$ z! a3 T( ^7 c

  323. + x" _5 v7 q3 r1 R

  324. ) y# ^' u% T3 `% b7 q* c

  325. $ R9 r: V" Y% \& M& f7 m
  326. CLEANF:                ; 恢复现场
    + x. B9 `- T8 p7 i! p, a
  327. ! c% [* ?7 ~9 }& o. j/ B4 {; z5 H
  328. PLA" i& d0 K2 o; A( F6 K
  329. STA $B8& Q; M3 E4 C4 m& v1 x- H6 J
  330. PLA+ C8 a# \4 P/ \1 `6 ~
  331. STA $B96 f: o% n# g7 Q' _  ?
  332. PLA* Z* o0 d8 c! g0 U# p. ~
  333. STA $BA$ ~: b5 n* D" G7 p
  334. PLA/ u; m/ G/ y7 ]; G3 u) W
  335. STA $BB
    - }0 d9 ?3 x3 p" ]7 k/ I
  336. PLA' [0 X# L) x) q; Y6 k
  337. STA $BC; F0 ^/ n$ L# o1 ?) N/ `: N
  338. PLA
    % h3 S: V. X2 `7 J3 _3 h
  339. STA $BD
    5 `$ |/ N/ i. x$ N: O
  340. CLRF:8 M. a' t1 V; x7 \: y3 y
  341. JSR FREE_PPU2 z, d+ ^( f0 N# a2 F
  342. RTS
    ) O9 u6 Y( E- P! x  Q, ^
  343. % D" v% [- w  e$ |
  344. " g9 `. `2 D: i# k' G) L
  345. PPUWRITE:    ;PPU写回
      f6 E3 S7 c3 x" Q  q, m; @4 V, f) d# v$ V
  346. PLA  C0 \3 @7 b* G6 U
  347. TAY$ c; Q& R, Y# Y! {& C3 d: |
  348. PLA! U$ }! v- F& w3 W  ^% H, v
  349. TAX
    # m# i" e& d* j
  350. PLA2 M' U) q8 e" Y6 W8 K2 Y
  351. LDA $25! P! P; @$ [8 C" r; b, H
  352. CMP #$00
    ( I+ ], u# \0 I: t4 O/ W
  353. BEQ WP1
    # a# l6 b1 ?- {0 E; U
  354. LDA $25
    ! O: D+ H4 _9 i- Q
  355. CMP #$01; e' R$ M: I7 |: Y; @* n
  356. BNE WRE& A5 M/ F. F  e2 I. m* [
  357. LDA $F5,X
    / o: y7 `, \- N4 z# m# ]
  358. AND #$EF# M; J: b3 D- \! i
  359. BEQ WRE
    ; l: l  g* d3 v7 f# S2 V
  360. LDA #$00
    ) L: R. P# j7 X3 K3 P# h3 r, N- C
  361. STA $7FA0: _- `( p  }' m, U

  362. : W& f  {* r' d( o, V& ~9 \! R
  363. WRE:
    9 e/ O/ j9 P, @( Y( M
  364. RTS
    ; H, k* \$ o7 g; G7 _
  365. 3 f/ |0 d1 n4 G, j$ ?) O/ W
  366. WP1:
      Q# S$ q7 a* @0 l2 k: F6 y9 ?
  367. LDA $7FFF
    2 a+ _9 q  A  ]7 I/ c
  368. CMP #$FF( L4 z, S. @% N4 Z  I
  369. BNE WRE
    6 b* r7 Z- _5 P8 t; I, S3 i2 r
  370. LDA #$00* z- A9 q0 u5 S+ N8 t) w& \
  371. STA $2001* Q/ h- q: f. c/ N. H
  372. LDA $BD; q! N, y! O7 }9 e$ p/ u
  373. PHA
    / |  E- Q! }+ l, @& |
  374. LDA $BC, b5 b0 y9 S8 E
  375. PHA
    6 j) y8 ]  S) G; B2 C
  376. LDA $BB
    ' n! `7 ]$ ~. X
  377. PHA
    ) ?& m, p, g! x2 x
  378. LDA $BA
    9 Y$ d! A1 N, T. o5 L
  379. PHA3 V- E' m0 a) y6 l: D9 X0 d& P5 \
  380. LDA $B95 R) K: i' F' U: J
  381. PHA
    / f; _9 s5 J) t- M, U9 e
  382. LDA $B8
    ; d6 O: `' {5 M4 G  b/ T: J! Y
  383. PHA
    , J- t2 Q  w9 n
  384. LDA #$00$ d4 `+ g; k0 S3 j
  385. STA $B8
    , J7 m$ X7 p/ d- q
  386. STA $B9
    * N- s, s: v7 D/ M* \4 b* e7 _
  387. STA $BA9 G- S0 J& H' \  @6 W: N' I- \& v
  388. STA $BB* C- n6 c+ V1 R: _
  389. STA $BC1 p" `- K7 ~- ?$ Z! o3 U
  390. STA $BD3 q4 o9 F1 P2 G( ^$ K4 o
  391. LDA #$00
    8 e7 Z; a6 Y, |# s1 b, h0 `
  392. STA $7FFF
    3 u+ `- K9 r/ }6 T
  393. 7 G0 K( L3 O9 n" L
  394. WL0:
    8 {3 Z1 _  J7 \6 Z
  395. LDX #$00
    : m( s" _7 r1 O9 S
  396. LDY #$00" R/ ?$ n( l4 Y' Z
  397. LDA #$00
    7 I7 K5 S( E  n. h! G. e
  398. STA $BA/ M% Z  x. w0 w3 {$ G
  399. LDA #$20
    ! d4 Y7 o2 U7 W4 {4 e1 L
  400. STA $BB
    & \* @2 C5 V7 ^) ]6 U( F( y  a5 V" M
  401. LDA #$006 b5 C: B" _8 Q/ C
  402. STA $BC
    % c+ p: O% G$ Q; f: N. Y5 q
  403. LDA #$60
    8 I& A. r4 V' u! N; r! L; i, P& m
  404. STA $BD
    : }: V8 c2 }1 i+ B/ o) D3 v
  405. ; D$ m4 v. [4 B  [* f
  406. WL1:- v- Y' |2 |* |0 b7 q5 l
  407. LDA $BD
    ( c5 C& ~& ^# v8 q' [# z  Z0 x
  408. CMP #$68
    ) E, J" m" G- ^& M0 s( [4 }, g
  409. BNE WL2
    3 G2 L3 P, q5 w5 C
  410. LDA $BC
    , Y) ?5 Q7 |. F. y) @' U8 ]5 r
  411. CMP #$00
    ! x; _2 v. `: N$ F) q' ]6 |% {/ N
  412. BEQ WLR- k3 e% a- d: G# x- X% C8 V
  413. , S  R- e. I) C' _4 a7 M; c
  414. WL2:; A8 C. B8 K. M
  415. LDA $BD9 H8 {7 s1 i5 f( ?3 h/ s5 z6 G
  416. STA $2006% G' ^# e$ ?/ T
  417. LDA $BC+ {% b% h4 E. p' j
  418. STA $2006
    / v+ E8 d( ], |$ o0 W4 K

  419. $ M7 ^' m  `* O- A* v9 M. Q+ _
  420. WL3:1 x. W. K5 o" E1 f) w. \0 k7 t
  421. LDA ($BC),Y
    " H! W" T, s, D0 C- p% r6 S
  422. STA $2007
    0 x; o) e) x- L- o; d3 s" l

  423. / h1 |! U5 c' v+ W0 D
  424. WL4:
    + \( h2 H- c8 b  ~+ g
  425. LDA #$00
    & @/ ?+ B  q. j/ |+ G2 O8 S3 V" V) o
  426. STA $2000
    2 C+ X+ o7 k) A
  427. INX
    # x8 ^  p+ ]0 v4 c* }4 @6 f
  428. INC $BA
    + s$ w. z* h; `: m) t. T* s
  429. INC $BC9 P* X3 r! ]" [6 T2 I
  430. CPX #$00
    - h% C( V4 ?8 A
  431. BNE WL1
    3 P3 U! n: ]6 W9 G
  432. INC $BB  \+ r# H4 }8 t# A& Y; D
  433. INC $BD
    : h+ p, W8 D0 I4 D
  434. JMP WL1+ `  n% o" N6 C6 @6 `" S# [

  435. ; x  N9 l5 B( r
  436. WLR:9 j0 _6 {6 u3 l# c# ?8 [* n
  437. LDX #$000 ?; o$ b- O* B4 Z/ J9 e
  438. COPY_7F00_7F3F:) q( m, u, ^1 ^( C1 G; @
  439. LDA $7F00,X2 q  O! D+ p4 A/ r+ N
  440. STA $07C0,X
    ' j2 M4 A2 b& Q
  441. INX& x( N" j; y$ Z  a
  442. CPX #$40! l! w5 H9 m8 v$ C  \
  443. BCC COPY_7F00_7F3F
    # `. X6 \4 W3 m/ o& y1 X3 G

  444. ! s2 |" {1 u6 K& m! Z- ?, H
  445. LDX #$00
    7 R. T/ b+ s- F
  446. LDA #$3F$ D# q. v" v1 D) p* }5 T
  447. STA $2006
    4 u2 |! s9 U: e0 y: m" f
  448. LDA #$00. }0 J4 [* _; Z* H7 k6 Q; \2 O
  449. STA $2006
    " Y1 B' o% T2 B
  450. COPY_7F00_7F10:
    . A4 }6 c- Z" u, x- B" b* k
  451. LDA $7C0,X
    " G! H( b: K$ O) M0 L) S6 Z$ R
  452. STA $2007
    8 \& P. U; _) Y* E/ P" V8 R) D
  453. INX' c9 I5 z1 z! K1 ^+ A9 F7 t5 z
  454. CPX #$102 h: R' J0 V+ p- z. V# Q" ?
  455. BCC COPY_7F00_7F106 v$ `! i% w! a. v. ^2 j0 L- s
  456. ' F" Y# N9 S7 Q" y0 r% w
  457. LDA $2002
    % F1 Q" S3 E' \( i: C
  458. LDA $FD7 b& m7 }( X5 j% ]! }2 w( }
  459. STA $2005( A" m# [0 |! b  @" P% M/ C
  460. LDA $FC$ P; j- {3 [+ g7 D0 T* j' D* Z
  461. STA $2005% Z( p/ M2 K+ l; Z

  462. ; N' l0 E% B+ y9 r* ?, A) M
  463. LDA $7F50
    ; T, ]( M7 c: u5 a/ v& ~0 H
  464. STA $FE" V- Q) c' M$ d: i
  465. LDA #$00
    5 P+ l  I5 @- b) {8 |( J' b
  466. STA $2000
    * c2 \) c" ?, t8 n
  467. PLA
    + t6 o, S9 r$ S! p0 F% ?  g
  468. STA $B8" g8 a) ?* c* s  W8 ?; \
  469. PLA* j0 s1 F6 Z7 @( |1 Y9 J
  470. STA $B9) _& [; f! s7 r0 W# q: `
  471. PLA
    % Y( s& a' t) z: K# [
  472. STA $BA
    6 [1 f  J, k. J9 b7 ^+ U! K8 o7 K5 s
  473. PLA
    : p" p) S8 d* S) h. H$ [' F8 P
  474. STA $BB
    : p  k/ {# L6 Y' M, p  _
  475. PLA
    & e. E% \* f9 Z% b. n; G
  476. STA $BC4 ^' \/ V9 Y+ G- @
  477. PLA; B9 C  L6 [) n
  478. STA $BD8 |3 O; n8 _3 n' `  x2 G8 Q/ M# H
  479. * ]8 ]' U- Q1 n$ m* R. h: `
  480. RTS
    / i' l2 J! P8 j0 B& W5 r
  481. + E3 y. b4 Y6 i2 V  @
  482. PPU_CMP:/ R) D1 \1 M3 y$ A! n$ h* C

  483. ( W- {6 n4 a( G8 E& S# {
  484. 6 ?, W+ j& g: X: `' x  E6 N) H: |9 L
  485. PPURE:
    : j4 ^* z5 R5 Z$ A
  486. RTS9 e9 w9 ~5 ]5 L
  487. ' W% S1 M& w9 W# l* a

  488. + X. _9 j+ k/ v- T. ?  r( J
  489. FREE_PPU:
    " N! @; s) B$ z- B: W
  490. & N7 _$ [( U" k6 a. i; D$ q/ [
  491. JSR TEXT01_PPU0 q8 Z0 b. x8 q& J
  492. JSR $CBC0. j) r; M0 U* h4 j3 V5 I  T
  493. JSR P1_PPU
    0 b" t- N. [  I; |
  494. JSR P2_PPU
    9 E% f1 w1 T4 w2 i- `3 b, D
  495. RTS
    - X8 J( _; {+ i+ L/ H
  496. - f, P2 A5 j) W) N! s% U* z
  497. TEXT01_ADDR:. Y, Q" U, ~0 r
  498. .BYTE $20,$42
    ! C# e$ o  W) |7 \1 W/ [, C' D' y
  499. TEXT01_DATA:
    4 i7 [, R* q- N% Z! _$ 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
    : K+ J$ k1 q! V0 r% D* Y# H
  501. TEXT01_PPU
    6 X, {4 H2 g, Q/ z
  502. LDX #$00: E8 |" w6 H/ {
  503. LDA TEXT01_ADDR
    9 a$ M2 E5 d# T- B: V/ S
  504. STA $0703
    5 F3 y# T6 Q& n/ X' z
  505. INX
    9 v& f7 x$ u* B2 \# Z$ s* O0 g3 H8 o) Z
  506. LDA TEXT01_ADDR,X
    . k! A9 K* Q5 J
  507. STA $0704
    0 G% ]. @6 U( t2 y0 z% {/ [4 \# A
  508. JSR PPU_PROCESS# I+ {) X" R# w' A* t0 i& w. s
  509. TEXT01_W:/ Y- l( H6 J7 Z9 Q- T; V
  510. LDA TEXT01_DATA,X
    1 c% {3 d) e' O9 U# Y% [, M! l. a
  511. CMP #CEND
    ) X8 b- C2 S2 J# `$ p% u: y6 Y
  512. BEQ TEXT01_START& Y2 h$ o8 [8 m: T% ~
  513. STA $0705,X6 [, [) d" h7 j( b' {
  514. INX* |. D- J* h+ c
  515. LDA #$00( R6 K1 S. u: ]$ q! J
  516. BEQ TEXT01_W9 v) P4 W9 y! i3 M4 T8 l/ j! X# T/ ^
  517. TEXT01_START:6 K: b2 v- w" U' V: {
  518. JSR PPU_START( a5 I' y" O1 b- Q# n7 ]7 P
  519. RTS7 ~' a1 j; X+ F/ j
  520. 9 @+ Z! r) \8 T) R1 D$ ]) {. |* V
  521. % X% E9 x! E7 F, b4 Q3 a* a
  522. COLOR_DATA:, Z6 }1 w7 Y, O- R8 @0 s1 C
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    0 F6 l1 O' }. Z$ T9 K( b- x! E

  524. ) w2 e, W6 ~  O
  525. P1_PPU:
    4 f3 y2 f2 l  R  L
  526. JSR PLAYER_01_PPU, l, M) i7 M5 q" ^" b+ z
  527. JSR $CBC0$ a$ t7 }: m& n) N/ i9 N: ]
  528. JSR RELIFE_P1_PPU& ?0 f# w; O& y" C; [' D
  529. JSR $CBC0
    1 @4 S2 O: P) Y5 E' h; E, b
  530. JSR RELIFE_NUMBER_P1_PPU% X- Z- v0 [( c" T) {
  531. JSR $CBC0/ u2 e# g1 t, N& K5 I
  532. JSR WEAPON_P1_PPU
    8 _& v, d" F5 f  I
  533. JSR $CBC0
    ' T- G7 \( P; V+ E
  534. JSR BULLETPPU_P1_PPU1 {) c7 _" T. Q% p4 \8 C/ w0 v
  535. JSR $CBC0
    - @( G; h5 m. d$ b0 @0 r4 x
  536. RTS+ E! J' p) [& x+ N2 N% V7 @3 z1 `- I
  537. ' {9 c" ^1 L, A! G' }0 K
  538. P2_PPU:
    7 r$ y2 ?# p4 n: V. |
  539. JSR PLAYER_02_PPU
    ( S4 m8 j/ q, o8 Y+ k3 A+ I' ^
  540. JSR $CBC0
    6 E; {$ s9 |6 L& x
  541. JSR RELIFE_P2_PPU- I( F/ {* u6 J" V, A
  542. JSR $CBC0& G! L* W* T4 e$ `4 Q; M( n* {
  543. JSR RELIFE_NUMBER_P2_PPU5 R% y! I# C& V- I
  544. JSR $CBC0
    / Y* E' i  p8 S# o* ]
  545. JSR WEAPON_P2_PPU
    ! \3 W/ K/ r$ B* T; [
  546. JSR $CBC0+ G, ^+ F8 ?) x0 h
  547. JSR BULLETPPU_P2_PPU
    # ^) C& O4 v5 |# j: C! ?
  548. JSR $CBC0
    % L! G" k9 `& G3 T# S
  549. RTS
    6 Y, E5 K5 O- y0 s1 l+ \: W# ?, a' L! w8 p

  550. 5 a- I; T4 r& X% k# B/ N4 N
  551. 1 t! ~5 X4 P/ r5 O4 [: t

  552. ( G- G/ d$ A5 u/ t( W- c% I
  553. PLAYER_01_ADDR:( ]4 N+ r) G2 H* k: v
  554. .BYTE $20,$A3! G6 O% p9 {6 Q9 Y
  555. PLAYER_01_DATA:
    / Q  r: @/ z8 {% h
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND
    - o) b  g6 N' v4 a3 U9 Z' ~
  557. PLAYER_01_PPU:
    5 s- Z6 l3 x7 {$ L
  558. LDX #$00
    : J. Q$ Z, S' w9 x8 G. ]0 o' i: i
  559. LDA PLAYER_01_ADDR
    5 Y( l* G) n7 V5 n7 Y
  560. STA $0703
    9 _: g% Y3 |9 e6 s# Q' c7 Q# A) k
  561. INX* y- @9 [- }' d: k" q8 J9 b, R
  562. LDA PLAYER_01_ADDR,X
    0 f% j6 a( R6 A, @
  563. STA $0704
    7 H1 Y2 ~9 a- _& N
  564. JSR PPU_PROCESS  V; l3 z3 ^) V, G/ C7 |
  565. PLAYER_01_W:
    % f6 m7 }" P' q
  566. LDA PLAYER_01_DATA,X+ q2 q' R3 r; s9 X
  567. CMP #CEND5 l0 g5 y; k9 `
  568. BEQ PLAYER_01_START: b+ M# z0 b4 ?# a: a
  569. STA $0705,X
    0 P, G. N% l. Q2 q
  570. INX' a7 Y! d% b) g/ X7 [5 `
  571. LDA #$00# D0 G: g& _$ T3 b! q2 P& E
  572. BEQ PLAYER_01_W1 y0 T7 `. v+ I. `, i; M
  573. PLAYER_01_START:& @4 L8 g/ G0 f
  574. JSR PPU_START
    ! B" Q( Z, B9 [* k. Y
  575. RTS
    " P* L- Y% u# Z$ H- [, ^

  576. 6 \1 @3 P+ Z- N/ l

  577. : h; @0 v' s5 x6 G, ~  T
  578. RELIFE_P1_ADDR:! P4 t& \/ K7 m! W
  579. .BYTE $20,$E3
    # I) v; _6 a4 y* e  e7 |* I) R  j
  580. RELIFE_P1_DATA:
    # Q( F/ k5 Q2 @+ L: S
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND4 Z: a% P! ]  v. f+ b6 Z
  582. RELIFE_P1_PPU:
    ) O8 `. g+ @/ ^& I# q
  583. LDX #$00% `3 u  n, g2 a% t
  584. LDA RELIFE_P1_ADDR
    - d2 {9 X* m* \9 a# d' H
  585. STA $0703
    * k$ v3 ]1 v; O  I. O, d
  586. INX
    ' e4 j4 H1 `5 w( [, @
  587. LDA RELIFE_P1_ADDR,X: n5 H; g3 {- D- o+ n6 \1 h* R
  588. STA $0704
    ' P  ^3 r$ z; Z2 N& H8 w
  589. JSR PPU_PROCESS6 r: G0 d- c+ F$ x& |( f1 k
  590. RELIFE_P1_W:
    6 c! ^6 u+ @2 n0 V! F
  591. LDA RELIFE_P1_DATA,X2 @9 @9 Y% g% v3 ]! Y+ O
  592. CMP #CEND) ]5 Y4 x$ F6 t# c5 Y- N
  593. BEQ RELIFE_P1_START
      i- j/ K: h- A* t1 {
  594. STA $0705,X" `+ l+ S* g( R0 v/ O
  595. INX
    + N1 @; D: l6 J
  596. LDA #$00' n. G0 e+ I' u, D
  597. BEQ RELIFE_P1_W
    ; n7 @* Y* _- U- ]* m! [2 E) U: ]9 Q
  598. RELIFE_P1_START:/ x  r7 w; s" x8 @
  599. JSR PPU_START
      \' \6 F* \- y
  600. RTS
    2 n/ P- v3 U  i
  601. " ?' e  v% |- l  y! e

  602. . i! @+ H0 v3 h1 ^: Z
  603. RELIFE_NUMBER_P1_ADDR:
    / z: v+ W( e0 Z! ^5 ]! j; |) [+ n2 M
  604. .BYTE $20,$EA
    0 B0 A/ m; [& I+ ~* l" r
  605. RELIFE_NUMBER_P1_PPU:
    ( D( ]2 O  N& [3 v
  606. LDX #$00" C; }5 O! W' C# g$ Q" J
  607. LDA RELIFE_NUMBER_P1_ADDR# |, S# I3 E- j0 H7 O
  608. STA $0703, ?/ a/ L+ j) _7 d; j2 C  H
  609. INX% E4 D) L: F* l/ C
  610. LDA RELIFE_NUMBER_P1_ADDR,X6 h2 q. g. F& U' f7 p/ R' s
  611. STA $07044 s, }2 a0 q2 @
  612. JSR PPU_PROCESS4 V5 t# U- z3 n: R2 X- E
  613. LDA $32
      \4 j3 o; `! x8 J$ o
  614. JSR LIFETODEC
    1 F# q# u! _. L* B0 R! C6 V9 |
  615. RELIFE_NUMBER_P1_W:6 c( J. P) U0 h
  616. LDA $7A03
    8 u1 x  q, G3 ]+ U0 Z5 H
  617. STA $0705
    6 {2 N; k6 ?+ A. B+ X2 ]! a
  618. INC $0705
    ) ~! D! `; \, l3 L- ~# j) b
  619. LDA $7A04
    / u2 R8 ?) c4 i+ M
  620. STA $07065 r# F; R# {  s* t6 f: R
  621. INC $0706
    7 ~; c! E$ T# [" a0 e  g  p
  622. LDA $7A05
    # [1 M& J. ?( @; m$ k2 x
  623. STA $0707
    3 z0 t! Z) N% j7 X
  624. INC $0707
    + k, p5 x' |) U+ ^
  625. LDX #$03
    ; X& |3 k+ T8 x6 T3 f
  626. RELIFE_NUMBER_P1_START:
    ) C+ v3 C! P2 Y
  627. JSR PPU_START3 j1 W! x+ R( s( F) A) N
  628. RTS
    2 V/ L5 z* O) p8 q9 \
  629. 8 r4 e2 e1 X+ @; \% w2 j
  630. WEAPON_P1_ADDR:
    ! i  F* G, f0 B% c
  631. .BYTE $21,$23! `8 k  p5 b2 t+ _. J
  632. WEAPON_P1_DATA:- D/ @4 E0 f/ \6 ^% Q
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND
    1 S+ K& w! [( n' l
  634. WEAPON_P1_PPU:7 b- x& g$ ]3 r5 w2 b6 o# \: M0 G
  635. LDX #$00; G5 k) P/ q% U- m
  636. LDA WEAPON_P1_ADDR
    $ N4 \6 d; i+ V) D
  637. STA $0703! t  a7 G4 |" J6 |: K8 R2 p5 }
  638. INX, t1 f5 L8 x. p# L/ S" K
  639. LDA WEAPON_P1_ADDR,X, Q7 _2 N9 r8 C) ?
  640. STA $07046 A. ~1 p- z( z; r1 @
  641. JSR PPU_PROCESS. @, h. K* A3 F2 m3 O: B" ~
  642. WEAPON_P1_W:3 j; S2 K8 X& g6 u1 ^0 m$ j
  643. LDA WEAPON_P1_DATA,X$ P; t* P1 J/ N" K, ?" f: H
  644. CMP #CEND
    3 d0 ?( E* P9 L5 \- ?# K
  645. BEQ WEAPON_P1_START. r; a+ D& k! m) O8 [: Y  H
  646. STA $0705,X
    3 I8 m# _% X7 F. Q6 e
  647. INX% E2 s5 ]  `2 f# q
  648. LDA #$00
      ~) X: n8 r+ s% w* K- x; @
  649. BEQ WEAPON_P1_W
    : j+ g- o8 @+ K7 f$ E) y) P
  650. WEAPON_P1_START:
    " L/ a7 X* f: `7 X
  651. JSR PPU_START
    ! L) O7 o0 l4 V7 z, D& s+ O
  652. RTS
    & m, C$ ?" M# o; g3 j7 y; {
  653. " b; x; ]# N7 e. h. o, I
  654. BULLET_P1_ADDR:4 K! k) f5 A3 `3 p3 x/ u3 e, Q5 t
  655. .BYTE $21,$2A
    " E! c1 O3 _; f- F2 v
  656. BULLET_P1_DATA:3 y6 a- G. G0 r3 e. q
  657. .BYTE $00,$01,$02,$03,$04- A; d+ f# d3 @  y2 x: |
  658. BULLET_P1_NAME:
    7 w- ?9 Z. U) m( E/ d
  659. .BYTE CN,CM,CF,CS,CL$ T2 w. l+ C8 O+ m, t7 O

  660. 9 y6 M5 J6 Y3 s9 N
  661. BULLETPPU_P1_PPU:2 m& a5 ~" C6 K* _5 Q' k, y
  662. LDX #$00" Y' b$ ^. m: i$ P; z2 u
  663. LDA BULLET_P1_ADDR1 i( p, u  p0 a, z0 ~2 j0 N' [
  664. STA $0703; l: ?9 b% k# |3 M( E
  665. INX
    + f2 t/ Y/ @6 S/ \$ M7 G* h! U
  666. LDA BULLET_P1_ADDR,X; u2 j" K9 }8 h: r
  667. STA $07049 t0 n! {; F  r' g& R# {* E
  668. JSR PPU_PROCESS
    # O: C- G0 h/ x  y3 ~3 V6 N
  669. BULLET_P1_WRITE:
    1 e' g2 d5 D' j9 P: \6 _' x* C. y
  670. LDX #$00
    6 G+ E% \6 v7 _1 L, V( n
  671. LDA $AA
    * i$ P4 J, B0 f$ M& }
  672. AND #$10( b) k2 n3 \/ K% X0 d" k
  673. BEQ C_BULLET_P1, O; P: _6 Y3 [' e/ [1 M
  674. LDA #CS. G( x6 j/ j% u' L5 |$ t+ P- p5 D
  675. STA $0705" ]/ v! f! w$ q; _/ i  `. N7 L! F& ~
  676. BNE B_NAME_P15 \  L! z) d4 e, ~  O9 F
  677. C_BULLET_P1:
    % K9 _% O  H. y8 o6 w- _
  678. LDA #CC( h) K( j* F6 D4 f
  679. STA $07052 x. |0 ?* x1 ^' h. \$ a- l
  680. B_NAME_P1:
    - q$ y7 z- R3 w* @8 d
  681. LDA $AA1 l1 t9 x% ~9 Z& y$ t+ I
  682. AND #$0F* Y- p& o! O( d7 A! m* b# `0 y
  683. CMP BULLET_P1_DATA,X4 L8 t+ U6 c; r/ A
  684. BNE B_NAME_P1_RECMP) h, O1 a  Q' x; k- \# n
  685. LDA BULLET_P1_NAME,X
    , Y6 u- b4 o  r! E- Y( F9 [2 w3 {+ {: m
  686. STA $0706
    % d& p, p" y1 |6 s. e
  687. B_NAME_P1_RECMP
    $ o8 k9 `: u( i0 [" Z% t% K
  688. INX1 H; e* I+ ^6 y1 E; H) w0 u% f
  689. CPX #$057 ^0 T0 d6 T' x. T' l8 h' d0 T9 c( k
  690. BCC B_NAME_P1
    # V! F2 ]7 h- ^7 u) S% F6 C' X
  691. LDX #$026 p  u7 m8 S' H; J
  692. JSR PPU_START
    1 F2 O: {3 ~( C
  693. RTS
    # z) l4 ?. f7 j

  694. 3 ~7 }. {3 S0 n. f1 V) p# P
  695. 7 ^  O  |2 W" S' B' y, f+ X8 W% L
  696. PLAYER_02_ADDR:
    7 o0 q9 i* ^& P* i7 S. i0 n
  697. .BYTE $20,$B3
    4 }) e5 z0 H' h+ [
  698. PLAYER_02_DATA:1 n) b  O1 C  ~0 g' x# u% ?$ b
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    / R! I$ ?: t' c; f
  700. PLAYER_02_PPU:/ Q5 B  C+ m$ L" H$ V8 k
  701. LDX #$00; A5 ~; h4 p& D% U0 R( [6 Y' y+ a* R
  702. LDA PLAYER_02_ADDR, K5 p( r9 G5 `) t* W6 E/ o
  703. STA $0703* |8 K  j0 G' L9 Y
  704. INX; d# N7 |- M0 `4 o' \; U; I
  705. LDA PLAYER_02_ADDR,X+ u# t# R7 C% b1 Y: b
  706. STA $0704' c/ X5 s( Z  C# D9 x
  707. JSR PPU_PROCESS
    & e/ z, `$ T) `+ y; l9 y
  708. PLAYER_02_W:
    ) `7 b/ {5 t- E: k% v) V
  709. LDA PLAYER_02_DATA,X/ M9 G0 Y" S9 [9 B* g7 h8 d
  710. CMP #CEND0 n- d- C$ d+ j
  711. BEQ PLAYER_02_START
    % D8 w6 e3 `  Q, q1 [; o3 X2 h5 |
  712. STA $0705,X
    1 Q. |' b$ v) d
  713. INX; x3 q' K. G7 c8 W- _- C
  714. LDA #$00. }( h7 ?. Z" N/ q' O$ h( F
  715. BEQ PLAYER_02_W
    9 D$ n" N" g5 @; N* o, ^
  716. PLAYER_02_START:
      @) e: U# V$ R3 T2 H. d
  717. JSR PPU_START
    / f! r# z. s. I, X+ q
  718. RTS0 f: `( O# ~$ ^) G! P. `
  719. & h! l! ^, J9 P7 }
  720. $ G: o2 i+ e+ e: \
  721. RELIFE_P2_ADDR:
    & A: a9 U, S' M0 l% A
  722. .BYTE $20,$F3
    1 ?0 H1 g! a) V* y3 e: _/ c2 a1 y
  723. RELIFE_P2_DATA:
    - a" a' a1 l: x
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND* p5 Y7 v" l# n1 @' ^* U0 e
  725. RELIFE_P2_PPU:
    . Z3 }, ?% R$ T  i
  726. LDX #$00
    1 q; S0 Q) Q; T1 K
  727. LDA RELIFE_P2_ADDR' l9 I7 a9 x+ a, P+ \" E
  728. STA $07038 A) f8 O1 Z- F) Z
  729. INX
    + E6 q# o3 Q, x
  730. LDA RELIFE_P2_ADDR,X+ g: _8 `% ~" f; ~4 [4 b$ I% n
  731. STA $0704! u2 s, f; ]% s
  732. JSR PPU_PROCESS
    4 Y2 y  I* S6 G, T& i4 p
  733. RELIFE_P2_W:
    ; m, _. K' s/ o+ T9 @/ E/ C3 C- Q
  734. LDA RELIFE_P2_DATA,X1 a+ [9 v+ }) x( X+ s
  735. CMP #CEND
    $ H$ P) Y4 Y1 {  {0 ]0 S
  736. BEQ RELIFE_P2_START% N% G' c$ i) k  F) d# U4 @6 G
  737. STA $0705,X8 G9 f$ X7 Z5 _- S
  738. INX% m4 T; S3 E5 i9 G
  739. LDA #$00* w6 v  Y, @6 z6 F/ M
  740. BEQ RELIFE_P2_W
    % z$ ^( w$ z8 m: W5 s4 x
  741. RELIFE_P2_START:2 u8 y5 d$ n, G0 ~
  742. JSR PPU_START4 O( J: V& t" {- ~
  743. RTS
    % s& b; P1 s' S+ B; J

  744. - K5 u( r  C8 W% V; j" p9 X
  745. % Y7 I& i$ j- k4 y2 y$ ?! z
  746. RELIFE_NUMBER_P2_ADDR:
    9 S+ d/ S8 ~2 [- |4 j3 L' p* ~
  747. .BYTE $20,$FA6 F$ W; y) J. ^& Y' E% f
  748. RELIFE_NUMBER_P2_PPU:$ M1 P3 U4 S& p$ E  X- Z1 S/ P; m
  749. LDX #$00
    ) d2 J6 K- G3 b2 S
  750. LDA RELIFE_NUMBER_P2_ADDR
    % v  A1 Y  M6 E. _3 D
  751. STA $07037 I' E, K- F  C& \9 b1 v
  752. INX
    # x$ c7 u3 e9 }
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    ! ^- m# M; e0 V1 X" `; x, @7 p1 h
  754. STA $0704
    3 d# n! G( W- R
  755. JSR PPU_PROCESS) G* L0 e8 j; z: k
  756. LDA $33: c9 ?5 g2 j# a
  757. JSR LIFETODEC
    + s/ n/ Y7 m8 Z9 y+ U6 i
  758. RELIFE_NUMBER_P2_W:( g% G5 \' j0 p# w! I$ D3 R
  759. LDA $7A03) }4 Q6 k$ v! l- J% [3 @6 [
  760. STA $07052 l6 l0 {) i5 \" j0 D
  761. INC $0705) \/ ~& x* p" {, m
  762. LDA $7A04
    % V% k5 Z7 c0 `4 B# }- m
  763. STA $0706
    9 M! H% ^' D9 u/ I/ S; i8 A+ b; L3 M
  764. INC $0706
    * a) Z' g" a1 S0 ]3 |# r3 i0 _
  765. LDA $7A05+ V. b# s" p) G, e
  766. STA $0707) M* s8 A  K8 O- Q/ u0 ~
  767. INC $0707
    # D8 j) J& v2 }7 E
  768. LDX #$03# m4 |0 X/ R4 s5 r0 p
  769. RELIFE_NUMBER_P2_START:1 m+ _( J- N/ k  m9 d( q5 @
  770. JSR PPU_START; G: |& q: \1 s, [" X
  771. RTS
    " o% q+ z. g2 V" e3 G2 ^
  772. $ O; c- M  b, t: C
  773. WEAPON_P2_ADDR:% c* h0 E3 k: L8 r0 `" I+ `: E) f6 U
  774. .BYTE $21,$33
    2 u# \6 ?- r  Y8 b
  775. WEAPON_P2_DATA:4 s$ ?3 g# M( a) ?4 o0 ~* Q2 @0 i
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND9 M0 t0 e5 Z, Y
  777. WEAPON_P2_PPU:  z* v/ m* U! I) a7 [; J
  778. LDX #$003 |8 E( Z" u* Q! k4 y8 U8 Y
  779. LDA WEAPON_P2_ADDR* V4 Y$ J2 U5 x# F
  780. STA $07031 [+ Q! y2 Y; R9 {' F& L  Q1 K
  781. INX
    1 T  O  ?8 v; P/ `0 T
  782. LDA WEAPON_P2_ADDR,X/ L0 g! L- b, O& G4 F
  783. STA $07040 p' C' z2 k" c' M
  784. JSR PPU_PROCESS: G' O- k2 Y& I, ?' L! c/ y0 L3 ^
  785. WEAPON_P2_W:
    1 ~. I, m: A! i  L* ?$ x
  786. LDA WEAPON_P2_DATA,X+ y9 [1 |, i6 N( `( X
  787. CMP #CEND! J1 z# B6 J( r1 ~' C/ [
  788. BEQ WEAPON_P2_START$ B9 A4 `, e  z7 q# O- o* R
  789. STA $0705,X7 G/ w! w/ Q6 k& {( `& G
  790. INX, i  q# N& [6 D! Z+ m+ y. v
  791. LDA #$00
    $ \; s% ?. j  M7 P9 n3 y3 F! s
  792. BEQ WEAPON_P2_W4 T9 A3 e0 n/ y5 {
  793. WEAPON_P2_START:- X3 E! _: U1 y1 u
  794. JSR PPU_START0 F; W: L8 E/ N
  795. RTS5 E% J% _0 F" L7 _0 A
  796. # D( r  |+ A9 G" Z
  797. BULLET_P2_ADDR:
    # |+ o6 i, @# M4 @- Q! |* @
  798. .BYTE $21,$3A9 q' r( d6 w# a+ _
  799. BULLET_P2_DATA:
    # D4 s  C, Y9 f) u5 j
  800. .BYTE $00,$01,$02,$03,$04% \+ m2 |% |' P. O, M
  801. BULLET_P2_NAME:5 U- [; R2 m9 @3 }
  802. .BYTE CN,CM,CF,CS,CL2 j  N2 K2 V) E! {

  803. 3 o' X! Y1 L( q6 n' ^
  804. BULLETPPU_P2_PPU:% B# ^6 ~: @, @" y4 |! G, o6 |. \* Z
  805. LDX #$007 l# z. k/ |/ d" G
  806. LDA BULLET_P2_ADDR
    / L6 L6 k% H0 G/ L
  807. STA $07031 r( B* t- m" Z; B9 ]9 w# g
  808. INX
    1 e% [/ A& _& l
  809. LDA BULLET_P2_ADDR,X1 r+ I9 H# }3 k% R" N5 ~
  810. STA $07044 V2 U6 l+ F3 \2 H; \
  811. JSR PPU_PROCESS8 s- t$ o8 j1 A9 z- a# I
  812. BULLET_P2_WRITE:
    : ], X3 Z3 ]0 l: ]0 m0 x
  813. LDX #$009 W" V1 v/ a! D- F0 S  Y
  814. LDA $AA2 e5 _. y) a% K, u4 M/ }
  815. AND #$10
    & D+ c4 U% P9 P/ O$ q
  816. BEQ C_BULLET_P2
    8 H$ f& G2 c. R2 X
  817. LDA #CS. a2 O- T" E3 Y+ _, Y7 f2 r
  818. STA $07051 y7 c& b! L6 p
  819. BNE B_NAME_P2
    % m. [9 q. x* r4 i7 ]. E3 [
  820. C_BULLET_P2:$ i: u: Y3 `. P
  821. LDA #CC- B: z& ]3 ~7 @3 l% y$ d. h7 X( C
  822. STA $0705
    # ~9 Z3 t% V0 n2 {! Z
  823. B_NAME_P2:; e" p* |# r0 l4 Y6 a5 g' S8 X
  824. LDA $AB( O: T! Y  C: M2 ~
  825. AND #$0F
    5 Z/ k8 h+ Q: C+ ?0 t9 G
  826. CMP BULLET_P2_DATA,X
    " v% Y/ \' d5 U) J* L$ t* M6 x0 W
  827. BNE B_NAME_P2_RECMP
    ' E- z, u9 @5 O2 u% ~, _0 d9 q. k
  828. LDA BULLET_P2_NAME,X4 p. Y6 [! _9 \
  829. STA $0706
    6 P+ u% w" [5 f9 M* D: ^- `  X
  830. B_NAME_P2_RECMP' {7 a( @7 x! }* [8 A$ `! k$ A
  831. INX! s7 i/ l: w* \6 G# `
  832. CPX #$05  Y" M1 N& j3 P( u! }3 u( i3 A
  833. BCC B_NAME_P2
    2 `9 F/ d. l* K5 ^3 _, A
  834. LDX #$02
    ) L% G& T3 u$ q
  835. JSR PPU_START. L9 X% D7 ]) q2 G5 [% }
  836. RTS
    : J, s9 B3 P1 d1 F) X5 l

  837. ( j9 [3 i3 E& ^( Y: B% e) s

  838. . a) N  t) w" ]' z
  839. " C. O9 g  p) \3 U  [6 x# h. @( F

  840. 9 F7 p5 t: j1 O) J$ @% R' x

  841. & g) r( Q7 m! i0 k! u0 G+ k) V

  842. 1 {+ b% [' ~9 _
  843. LIFETODEC:                ;十进制转换) C. {" }! f* I' \2 m) |% u$ l$ ^
  844. LIFEL1:        ;initialise
    6 z, b- C  @2 m% g6 q
  845. STA $7A00        ;$7A00=F3
    : f; j" c2 I4 ?! \( v- P, g
  846. LDA #$00& g/ M# r# g* S& n* {& @% a8 ~1 h5 ^
  847. STA $7A03        ;$7A03=004 P) |. I- H4 v7 r4 E5 `6 W
  848. STA $7A04        ;$7A04=00
    0 E+ \1 i$ T  P
  849. STA $7A05        ;$7A05=00
    + l! j$ ]1 ^3 c3 m/ O* z3 \& D+ ]0 T
  850. LIFEL2:        ;copy data $7A00 to 6001
    % [! {& O4 G3 X/ k8 z  u% X
  851. LDA $7A00
    # T- n" x! i' w5 V/ g5 I
  852. STA $7A012 [( W( X) x/ [( q* H1 O! c" p

  853. % B. n! [6 E0 _5 r. O: ^0 H8 q# \
  854. LIFEL3:         ;hundred! m4 h. X! k( w& C7 D+ L  v2 a
  855. LDA $7A01* l4 k1 {! U# h; x3 j# i4 O
  856. CMP #$64
    - {  w; \$ {% }3 T$ I
  857. BCC LIFEL6                ;$7A01<100 goto L6
    , m! A9 O! i9 p) R  D' c
  858. LIFEL4:
    . e# I# Z( d1 B5 C  A
  859. LDA $7A01
    7 [/ g" T5 B! y. _1 Q9 D
  860. SEC
    " U7 k( A, k( h
  861. SBC #$64        ;$7A01=$7A01-100
    - C- g& B! R7 ~% m' {$ k
  862. STA $7A01& T2 Y9 A: J0 _2 W2 ~0 p
  863. INC $7A03        ;hundred++
    6 d4 U7 l! [- G& `
  864. LIFEL5:
    5 W* ]$ k( Y: v: r+ O6 m  i! }
  865. LDA $7A017 l0 c; f0 S* s9 @0 u+ v
  866. CMP #$64
    - `' G- P1 J- y- L2 V  l1 H
  867. BCS LIFEL4                ;$7A01>100 goto L4
    2 d! A3 G" |$ r( l

  868. : y" ^' M2 J. ~# I# U. o/ u
  869. LIFEL6:        ;decade
    . _1 ~. G3 n2 y. s3 R$ X7 w
  870. LDA $7A01+ B. [/ O( e9 f2 X+ B
  871. CMP #$0A" x* C9 ~) y' H2 j
  872. BCC LIFEL9                ;$7A01<10 goto L9) ]5 c" t- d5 I! I) U/ }- x4 s$ I  f- I
  873. LIFEL7:       
    ( x4 Z7 S1 K* ^+ P8 n! A8 ?* I
  874. LDA $7A01
    # f+ |( ^9 y8 v# v7 ^
  875. SEC4 d5 n6 R4 B6 S2 O3 A
  876. SBC #$0A
    7 G/ s2 ]  F5 M' O
  877. STA $7A01        ;$7A01=$7A01-10
    # S) {& b) `6 l4 k1 s8 J5 q' F
  878. INC $7A04        ;decade++
    5 C, n$ H% k+ N" W% A  T
  879. LIFEL8:& m: A2 n, `! R+ h. \" s, b+ n/ i
  880. LDA $7A019 a* `9 z4 ~$ e9 y9 ]! I; n
  881. CMP #$0A
    - G8 W- W5 n* Z2 J
  882. BCS LIFEL7                ;$7A01>10 goto L7
    8 w( o: x7 ^" S* Y
  883. ;unit
    . ]/ G% j+ p, h" v6 r
  884. LIFEL9:$ U1 o0 y2 n, I9 b
  885. LDA $7A01        ;$7A05=$7A01
    ) z6 D, x! N! z
  886. STA $7A05        ;unit
    0 v# A2 |; N, `2 ]- Z( h! r2 e
  887. RTS        ;return
    0 y1 ^1 c- J# C; u! t7 g. E+ S
  888. 7 j# p2 k/ i% j0 ~8 O( @% p5 e  O5 _

  889. ) c6 ~  l! r5 }/ k2 L
  890. ; C1 p( c0 B& T1 Z8 K& Y
  891. PPU_PROCESS: ;PPU地址处理程序: u! u3 W! w1 D
  892. LDX #$00$ h3 |* v9 E' s& x2 m" J5 I
  893. LDA $FF
    1 N; |4 T6 q. L
  894. AND #$01
    ! A( j5 x$ M. |& w- J
  895. BNE PPU_2400_27C0
    ( N1 C( K7 V8 a9 t
  896. PPU_2000_23C0: ;命名表1
    8 U* _  C: V0 W, }3 w- w
  897. LDA $0703
    ' H  m: s9 Q" @9 k, s, n( b
  898. AND #$FB
    ; x. g. t, H- @5 Q( `! e$ E
  899. STA $0703+ Y. x0 E8 h8 f) |3 |) Z! [
  900. RTS- q, `* e2 i( r! e5 k
  901. PPU_2400_27C0: ;命名表2
    9 ?. K. {  G6 P$ [+ j
  902. LDA $0703; u1 _4 D# G' q, P4 A9 t
  903. ORA #$04
    3 V4 f7 z: G7 t* v/ i9 Y; S- e
  904. STA $07032 K8 x2 |- K- c1 \4 G  e/ T3 K
  905. RTS
    : v8 f, M# D, x. j/ a
  906. . c4 Y% \4 R) y4 Z# i, w
  907. PPU_START:  ;PPU数据写入
    - Q7 ~; M) K" Y8 ^& H
  908. STA $21
    ! R0 Q- k; b! e. [' K, i; h& V
  909. STX $0701- s& F9 f. K0 @9 F
  910. LDA #$00" h: t+ L0 ^" B, O( W) {1 H, N0 I+ a
  911. STA $0705,X! O7 A1 @% ^; T. n+ F7 a$ I7 ?" Q
  912. LDA #$01" ]; `9 {, A: T7 y* N9 P/ S
  913. STA $0700
    / \" x0 f, {3 m! J  B2 H2 M
  914. STA $07027 \; [6 y0 {8 C( x
  915. RTS
    8 t- f3 O  d0 n

  916. ( [# Q0 s% W) B5 \1 J4 d$ H
  917. 6 @( d' w5 Z' D6 d7 R3 k

  918. ! |) r8 ~1 K, P, q+ y
  919.   k# ~! R! `$ m# z. X

  920. ! k& {) ?0 _5 }) y0 S- o

  921. : N- D- Z9 J1 ~  r2 w6 |3 G! D
复制代码
/ Y2 R* z9 \6 i

本帖子中包含更多资源

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

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

签到天数: 2297 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!
7 Q' Q! W* c; P* a8 k

签到天数: 2572 天

[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-9-16 10:59 , Processed in 1.100586 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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