EMU618社区

 找回密码
 立即注册
搜索
查看: 697|回复: 18

[原创FC/FDS-HACK] [FC][魂斗罗旋风终板END暂停显菜单]

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2016-11-19 22:19:45 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2016-11-19 23:11 编辑 3 R: q% W& q; l
  P# K" T9 E1 O% h2 O
     [FC][魂斗罗旋风终板END暂停显菜单]
* L/ \' A7 [: A7 A
作者:FlameCyclone(flamecyclone.ys168.com)  N( d" X) L  t) U. M6 U
时间:2016/11/19 21:46:00
! r( U  b8 g0 n  k$ [, N# N更新日志:

0 X, O. t& @1 Q  u! S" Z' h' w2016.11.19:加入暂停显菜单(共5页).' ^) v1 j! R# T% a+ N. u$ ^
2016.11.12:加入无限跳跃.; B" {6 y# }2 g. F: w
2016.11.12:加入速度调节.

6 \  I0 [; k: Q( j; F. q% K# O2016.11.11:加入敌我子弹对消功能.
  q% {3 Y* k. F: p* `2016.11.11:加入全屏闪灭功能.
6 O! U5 u/ ^; I$ A2016.06.08:加入全屏瞄准功能.
3 f! T5 U) Y7 [2016.05.31:加入弹速调节功能.
4 e/ H  w" y' P0 h: X2016.01.01:加入高难度模式.' w3 S- E! E- S* m8 h
2015.12.12:修复消除威胁不足,使得移动BOSS关卡(第2,4,5,6)正常通过.8 G' O. {8 B% C: B# e9 a5 p
2014.07.05:由于对打功能不完善,直接去除,更改为生命锁定.
- W# I* P# o( j4 r! U  B2 ~2014.07.05:双人切换功能优化.
/ w& G2 S: f+ }2014.06.01:修复第三关浮空到BOSS前必须关闭浮空后跳跃才能见BOSS的麻烦.  _) d" h. O, C& R0 {+ x0 A
2014.06.01:取消生命锁定,改为生命锁定模式下剩余生命不会少于一条.
9 J! u% b7 @$ x; v5 `. D2014.01.18:修复GAME OVER字样只有G和O的错误,原来想拉大字母间距离,看来行不通.
4 N8 n/ V" u  C% ]2 \. y2014.01.18:浮空模式下,P2飞行高度未限制导致死亡,原来是指令本该用绝对X变址的被用成了绝对寻址.
$ m  \3 M' p$ [. [2014.02.08:拿手机无聊时又发现一些错误,所以修正生命剩余勋章显示的错误(某天用读卡器插在DVD上测试发现机器读不了卡,原因是目录级数超过三级,只有刻录成光盘来测试,结果发现生命勋章的显示竟然无压力!)( k' {0 A! A4 y+ k/ x
2014.02.13:加入自动演示通关.
4 c. e4 }4 }7 s9 X! M内容:
  [" V+ E, \- B2 O23.暂停菜单:        暂停后,自动显示菜单,选择键翻页,方向键和BA键进行各种功能的开关操作.
7 z; `6 G& ]+ R' Y' [7 i: s! D22.无限跳跃:        暂停后,选择键4次,按下开启,开启后游戏时无限跳跃.7 C  W) t$ ]7 c# M: A
21.速度调节:        暂停后,选择键4次,按左右调节行走速度(0-3级).

; ^7 A% Y7 x, D, w. V) m3 @' _; o20.子弹对消:        暂停后,选择键4次,再按A键切换,此时敌人子弹可以打掉.
" x# i; |+ `/ D7 p5 T$ z19.全屏闪灭:        暂停后,选择键4次,再按B键切换,开启后游戏时按选择键屏幕内敌人闪灭.- ~" Q, z! w* s4 Y. R
18.全屏瞄准:        暂停后,选择键2次,再按B开启/关闭,子弹对消开启时无效.' R5 K" x; c) ?* Q" t: h" m: a. {
17.弹速调节:        暂停后,选择键3次,下开启,非暂停时按选择键调节,默认为1级,共5级.( }2 L1 V5 J) |( ~
16.困难模式:        暂停后,选择键3次,右键切换,我不相信你能够无伤通关.
2 m( T" p& R# J3 q01.子弹切换:        暂停后,选择键0次,上=快S,下=快L,左=快M,右=快F,B=快普通,A=取消当前子弹加速状态.
# R& c4 }0 B7 h& c' @# q& w' r+ U02.无敌锁定:        暂停后,选择键1次,上开启/关闭,不用讲了,金身无敌.5 {7 a% V* g% l+ {" r
03.生命锁定:        暂停后,选择键1次,下开启/关闭,生命锁定为16条.& b/ j% E" b4 Q8 l& L
04.角色双控:        暂停后,选择键1次,左开启/关闭,无非就是主机控制副机.
5 w# q) ]# W$ O/ p' }2 o05.生命底限:        暂停后,选择键1次,右开启/关闭,锁定剩余生命数不少于1条.
( T/ B" i2 v: N3 Y8 Y# m06.一击必杀:        暂停后,选择键1次,再按B开启/关闭,即使是第8关BOSS,一发花生米依然要其老命.
: q6 [+ l/ _( H% v7 B! v07.角色浮空:        暂停后,选择键1次,再按A开启/关闭,第三关浮空时按选择键向上卷画面轴.) j" `# B( l- \6 Z# p
08.弹数加强:        暂停后,选择键2次,上开启/关闭,此时所有子弹发射数为15发.: X& E  n1 J% r2 d
09.皮肤更换:        暂停后,选择键2次,下开启/关闭,主机开启时橙黄色,副机开启时为蓝色.
, H+ p3 ]# D* V: I% P5 K10.混合子弹:        暂停后,选择键2次,左开启/关闭,此时连射时所有子弹混合.8 y: g. A* E+ S. [) Q, R* Y
11.敌人锁定:        暂停后,选择键2次,右开启/关闭,此时敌人原位跑不动., I4 H6 d$ @7 m+ t% e
12.跳过一关:        暂停后,选择键3次,再按B使用,使用后可以直接到下一关.0 T0 ^8 j9 K6 @/ q: ]
13.单双切换:        暂停后,选择键3次,再按A键切换单双人游戏模式.' _/ \4 _6 }/ A! R- I
14.子弹方向:        暂停后,选择键3次,上开启/关闭,开启后发射的子弹攻击方向会随着操作的方向按键变化,第二关和第四关的小关建议关闭(开启的话打中敌人太难了哦).
) {5 \; G' W( f15.消除威胁:        暂停后,选择键3次,左开启/关闭,此时游戏时按B键使得移动物体被消除。" E0 p/ X/ c4 _1 N  m
A.做了一些汉化(小字体),剧情,关卡名及通关后的文字未汉化.
/ J) k* a* C" `  r" mB.自动演示通关,双人合体打通关,演示时有背景音乐,通关后一样会有结尾及恐怖台词,之后游戏进入选关(相当于游戏自动开始了).注:通关后P1及P2会获得16条生命!也就是说看完演示自动开始后第一版有16条生命!0 C2 D4 _  a4 @
C.生命显示加强:最大显示15个剩余生命勋章!电脑端请开启精灵超过8个(这样勋章不会闪烁),手机端认命了,不过不影响正常操作.( M8 d8 S6 }( V! }4 z" D) P! I

4 `# O( K8 X  Z# H. L; e4 }+ L6 M; ?    如果有什么好的修改建议,恳请通过QQ(1490868135)联系我(也许我不在线,可以留言在QQ里)/ U- C* l+ k# ]! H( G( ?' h0 P: F& o
欢迎大家转载,转载时必须注明出处.
- |; @) E2 k" a; b* \  x& s' V- m7 T/ {8 T' [7 w! e
游客,如果您要查看本帖隐藏内容请回复

3 A: Y6 n9 @+ b$ B0 s1 E4 r" i
. R+ Y; w  C1 H+ o( S7 I6 {2 B忙了一个星期,觉都没睡好,眼睛也疲惫不堪啊.终于找到解决方法了,目前VIRTUANES运行不了,请使用其他模拟器玩.
8 e" i1 Y7 _# g8 h这几天的劳动成果如下:
  1. .ORG $B400
    + ?, r" z3 E2 U8 ?1 A

  2. 8 G! F6 ?. c* d5 g+ a; t5 d
  3. ! h6 ?$ k1 B! |; ~" v+ O4 i
  4. PROREG:1 T9 v  @# I4 E
  5. PHA
    - X6 d* C% V) S6 R
  6. TXA$ G2 s2 ]6 h9 `, F$ C
  7. PHA
    0 y" [' }9 R0 O
  8. TYA& A; q8 ~0 D: J
  9. PHA; c" g% Y) X  \' G7 M
  10. LDA $25
    ) x0 V; i8 A; q& X
  11. CMP #$01% P4 l2 W' m* [. [; J
  12. BNE RE
    : q& R. r1 r+ l/ B( `' r1 ]' L. g
  13. LDA $010A
    $ _. |1 V/ a' R9 U' k
  14. CMP #$00
    $ m1 j8 k  ?; j7 b" J0 ^
  15. BEQ P16 z6 a- a- `+ \; |" b2 K
  16. % H! V8 H" B! Q* E) n; s+ f
  17. RE:  A: m8 Q9 x/ o9 i# ^$ ~+ Y! f
  18. JMP PPUWRITE
    " i7 v! k) `( O* i) S7 n( s& g2 e

  19. 6 ^' v9 I, B2 f; ~
  20. P1:                ; 条件判断6 k- X. p! D9 ^
  21. LDA $7FFF
    7 b& M& F6 u" J1 E/ T8 l
  22. CMP #$FF. t; y% l. Y$ G8 Q& D9 _$ g
  23. BNE P1RP3 d1 S" N; w6 r) ^8 V
  24. LDA $7FA0
    " t+ O4 o9 y" V+ D: v- p& e) E
  25. CMP #$00- E; q2 F! B9 K5 ^5 ^+ R
  26. BNE P1CMP
      R% j. I8 f$ }) `8 \3 @
  27. LDA $2001
    7 D5 G5 b: R) Y5 f) ~. R
  28. PHA
    2 g3 s! {( H* ]9 r4 \) T$ ~" e( }9 q
  29. LDA #$00
    + B4 a' a; x. M- v
  30. STA $2001& Z* x$ Z' _  C0 K- F
  31. LDA #$FF( b+ c1 B( |5 [, y3 q/ g2 b
  32. STA $7FA0. }7 m" N# x7 _% T( z* Q. I) {/ _" C
  33. JSR CLEANA: w9 R+ C5 M/ p1 Z; o, k
  34. PLA8 v; f3 \' G2 V) t
  35. STA $20018 i" f1 `4 {# L0 J/ P+ `# M
  36. JMP PPUWRITE
    0 x$ Y; i2 W) }! w3 E1 P8 T
  37. P1CMP:, o: F4 y5 a0 a) q
  38. LDA $7FFF6 k' L/ ?: N6 G3 i$ y5 Z
  39. CMP #$00) ?- h# f6 R/ @+ K+ J
  40. BNE RE
    2 I3 }: T8 p7 `3 R7 o
  41. P1RP:
    4 S/ b5 A9 k# q8 i
  42. LDA $2002
    ; K8 Q3 Y+ q8 h' r7 N( u
  43. LDA #$00+ N- n+ l% v4 c& P* f) B. X
  44. STA $2001
    5 G. C" y( t9 c7 G) ^* P3 l: N
  45. LDA #$FF8 S  L( }, r7 Z
  46. STA $7FFF
    ; h, S- i! k1 L) K! k
  47. STA $7FA0
    * u# _; t9 L! b5 _% v. q
  48. JSR COPYPPU
    * H  w: \5 O8 h7 T
  49. PIRP2:& F  }4 P/ b! l
  50. JSR CLEANA
    * g& U* E0 A+ Y! D( [9 B/ n& [% ?3 i- U& K
  51. JMP PPUWRITE5 v1 P( F) y6 r: K3 a  L

  52.   P6 x- w# E. D2 c5 C1 \& b
  53. COPYPPU:, t) P9 L; y9 V5 F) w" g
  54. L0:& u% Y  E: p& {0 N7 J8 L1 ]
  55. LDA $30; K! g: u; F8 A4 L! i4 z
  56. CMP #$02( ?& |6 P1 h) t6 D4 K
  57. BNE UNPROFC
    8 S# T$ Y/ C4 y4 l6 f( K
  58. LDA $FC% M6 {8 Q; @0 w, j9 \6 ]" b( T
  59. STA $7EFC
    3 ?. K/ i& V- X: R% X
  60. LDA #$00
    8 I! k4 [- O, A4 T3 g* y9 g
  61. STA $FC
    : C3 j4 P* u+ I: A. `- E
  62. UNPROFC:/ d; V' v6 ^1 n
  63. LDA $FD. d, ~2 J$ j7 d& ?  v
  64. STA $7EFD
    * L! V. G* \2 A
  65. LDA $FF  [  v7 q. @9 e5 n! g
  66. STA $7EFF5 }+ Q" s9 Z  n& `  h8 ]* ~
  67. LDA #$00
    % x5 ~" ~$ p5 s" C' Q8 z* @
  68. STA $FD5 d6 V$ V. m# }+ u& x
  69. LDA #$B0# Z* |8 z: I% X( o+ I4 a; h! w
  70. STA $FF. N) ^4 r2 G+ y  o( l5 o# ~7 b
  71. LDA $07C1
    + ^) d. t1 ~9 k, m- q  {1 A% o, @! z
  72. STA $7FC17 J* [! r3 n2 H5 I  g3 i
  73. LDA #$3F6 k  s7 p8 e. ?" \  D5 u9 g
  74. STA $2006
    & M2 i5 T" W* k
  75. LDA #$01% j, ]' ^' Q2 t3 X7 D
  76. STA $2006
    9 @9 j5 w& ~9 _' V$ B: \
  77. LDA #$24
    ( W8 H  G  b5 f* x$ K  P
  78. STA $2007
    6 U1 l9 R& e# G3 Z6 w5 ^. J" @
  79. LDA $07F6& D5 d" T5 d8 c5 x5 S5 Y
  80. STA $7FFE7 @) `# _* L6 j5 m
  81. LDA $00FE
    , b  P- I) S: z. @- U
  82. STA $7FFD# ]- {2 e9 i5 ~! U& m
  83. LDX #$00# y" h( i. u) N" \- ~
  84. LDY #$009 E  L/ l: w! O2 ^  U8 K
  85. LDA $BD$ v" N1 S$ V, g/ q+ @
  86. PHA
    8 c  L( Z/ s1 w$ L
  87. LDA $BC
    3 s1 Q' p- @; r3 H6 ~
  88. PHA
    ' x8 ~# {# D& G, ]" B" V* B
  89. LDA $BB# \6 w& P, R1 M% ]5 Z/ O
  90. PHA
    " W8 E$ T( S, T3 p0 D' ?0 W6 C
  91. LDA $BA7 _2 B: S) w, i6 w% o* m- w3 T
  92. PHA: B6 s9 h  @. ~; X* f! R5 R. W
  93. LDA $B9; e' a' Z1 t8 z  n/ S$ m& j
  94. PHA
    ! z7 ^6 }& b. _, K
  95. LDA $B8
    , z4 [" T1 `" R
  96. PHA- V6 t  F9 R2 R2 K) v( j
  97. LDA #$00- L- @& W; x* r  c* L0 c
  98. STA $B8/ B0 A6 k6 w4 e  E& a
  99. STA $B9
    & V' ~- q3 Z$ ?% [
  100. STA $BA
    ; t$ R$ v" n/ k! k8 L
  101. STA $BB- K( ?( ]. P3 @2 f+ G& b
  102. STA $BC
    . w2 E! H, w0 ~' U# T/ \
  103. STA $BD
    % b- d( H' w  [% N. b: V9 T1 Y% E
  104. LDA #$008 ]- e$ u: M: [  j+ @
  105. STA $BA
    ! G, B" |& n3 P5 L+ L
  106. LDA #$20
      [: X7 M2 y. ~' i1 @4 u
  107. STA $BB
    * Z9 x) U: p# f3 @9 F# l: w
  108. LDA #$00/ i5 t* e' w) }- {3 w! s- V
  109. STA $BC
    7 L% Q( k% \" D
  110. LDA #$60
    % f; Z( K; n: i8 i% S6 Z
  111. STA $BD) p# y, y; j  q0 a1 u. D
  112. % f, r( E0 U5 K! O' _+ M
  113. L1:                ; PPU复制0 O8 Y$ g# ?' M1 u
  114. LDA $BB- H. B! I: c7 P1 K
  115. CMP #$30+ B/ a3 {+ S4 ?4 q3 h4 j7 r( y
  116. BNE L2
    + O: q* t8 R+ Y" @4 N" o- A9 q  t
  117. LDA $BA' @) g4 O% S4 [# x& K% m. O
  118. CMP #$00$ m, r! J7 F2 a% ^6 L
  119. BEQ PROADPLA5 G, z, a) `  C; z: ]! k: |' k1 W

  120. # a/ g6 z+ g: v8 J; D
  121. L2:$ n7 _8 P: _. B; P6 q
  122. LDA $BB
    : T5 q& Y- {: j+ j5 C$ p
  123. STA $2006
    : l% Y9 }% Y  K
  124. LDA $BA  y" Y- [% }' B" D6 n( u, g2 ~9 f4 o: n
  125. STA $20061 i. |7 i9 T3 F

  126. 3 v* }( K% c1 u6 m. n. e# ?0 x
  127. L3:
      \8 N3 G2 f$ G/ P. J; ]: @1 o
  128. LDA $2007  p$ W; W9 v; I2 V, d6 Q4 k
  129. LDA $2007
    % l4 O* Y. D$ h  w9 b
  130. STA ($BC),Y$ \( o. g# I/ A7 Z( z" \5 S

  131. + f' h& V1 j* r
  132. L4:
    + q* t( K5 T$ j, @
  133. LDA #$00
    : K8 u' m4 @9 R/ {2 K0 S7 M
  134. STA $2000
    8 o3 v. s  C! d! K% h/ p) E% G
  135. INX. _9 @/ l& @$ E
  136. INC $BA
    8 e! f! P6 _9 x8 O/ D' E0 U
  137. INC $BC( K% ~% R  T: E2 [7 Q
  138. CPX #$00$ V7 W- k) N  y6 ]6 I. T
  139. BNE L13 a, o6 ~% v7 f+ ?" m
  140. INC $BB" H' D& a8 N+ J! Y' m" G1 z/ m8 c
  141. INC $BD: \' c# M% X( P' Z: @
  142. JMP L1) d7 c3 J. N3 P/ P; x; b9 N2 t

  143. * o6 a( g6 D/ i+ \6 }
  144. PROADPLA:                ;出栈9 A5 v3 `# I1 ~" @- ^( K
  145. PLA/ Y7 `$ A- K+ _( W+ Z6 L
  146. STA $B8
    2 o; Z! S' I; c3 V' R, V- I4 N4 [
  147. PLA
    0 R9 o$ q9 F8 g* t) }) S
  148. STA $B9( J+ k% c3 n- ]; ^. i
  149. PLA
    4 G9 R* ]& i, S+ y$ `# u. _
  150. STA $BA
    ( t) s% i4 V- K4 T& y6 D
  151. PLA# F( H' E$ X3 k4 t7 x; Y2 N
  152. STA $BB, `% h1 ^9 R3 Y
  153. PLA
    . q7 M* J6 ^) G2 E
  154. STA $BC  ?5 F' a6 _/ ?* [! R
  155. PLA9 Q! V+ k6 M. f, _9 u1 z
  156. STA $BD4 V/ Z% B6 X; q2 {' y1 a
  157. CPRE:
    6 e2 [* n$ H5 Y. [4 \
  158. RTS! l! f- A8 I- j
  159. ' ?' B) g2 N& J3 P, @5 z; I
  160. CLEANA:                ; PPU清空2 t1 X; m+ N) D# }# W' K" O
  161. LDA $BD
    + ~$ b: J+ Z" G$ _$ S5 b
  162. PHA
    5 N  f) g2 ^1 Z( k) g( ]
  163. LDA $BC8 N! Q! \0 Z8 q3 \% i1 E; G  P
  164. PHA) U% |4 U1 r: L7 ]( K& N
  165. LDA $BB
    % ]2 I8 e9 c; ]+ e) p% s
  166. PHA
    % D$ c% e" Z2 ~+ ?
  167. LDA $BA1 B8 U) F$ ~$ L6 \
  168. PHA
    $ S  O- l, H" B) o; b8 J- l3 e
  169. LDA $B90 ~* `! E! t) I$ C+ F7 h
  170. PHA& T4 q" g# }( e
  171. LDA $B8
    0 X2 X0 s4 U( X
  172. PHA2 p! l# @" E7 v9 s7 T- T" O
  173. LDA #$00
      M- e& _  I6 c
  174. STA $B8
    , X+ L  ^" t. E& d
  175. STA $B91 a& K: A9 E4 C5 M! J
  176. STA $BA6 I, L; p2 @2 \" N
  177. STA $BB3 e) f5 ?( p4 J  ~
  178. STA $BC
    9 c% U% V+ f* L- }! W. o
  179. STA $BD1 C1 y' S5 t& z( c. X2 O8 ~
  180. LDX #$00
    7 g8 w/ l# H" v, M% j
  181. LDY #$00
    ( {# v8 l2 e5 h7 G4 l% h
  182. LDA #$008 O, l7 l3 `1 x* M$ }
  183. STA $BA
    ' _* ]' m% F! S: U$ P& a
  184. LDA #$20% @' I" E$ ]: c, y( v
  185. STA $BB
    ' {' X7 |0 u: j. `1 `" o
  186. 5 D6 s- p- |$ k  `
  187. CL1:" R; A+ u4 W  Z" F5 f0 J
  188. LDA $BB' R. H. O5 }# i1 j2 r
  189. CMP #$30) R; U2 C' k6 c! p$ g
  190. BNE CL2
    3 R) Y* c. U1 z8 o3 D* g
  191. LDA $BA$ t5 Y; _2 I  `8 u. _! k  g9 {; ]
  192. CMP #$00: ]5 P8 s) t, X: }% o$ g+ @4 f" [: _. K
  193. BEQ FREEWRIYE
    + ?; _- p# N2 ?) n. W0 n! A& a
  194. * u. u- M2 @4 e- w& [$ l$ q% G5 c. P
  195. CL2:' [* ~0 o8 x5 ?0 r; q0 ~$ x/ e- T$ ]
  196. LDA $BB7 C" H# p# e+ u$ o+ P3 L
  197. STA $2006
    & \9 {" v# j6 T( n
  198. LDA $BA8 a: J; f6 [& _7 k; O
  199. STA $2006
    ; h, H/ T% y* e6 \
  200. 1 |+ }7 g- b. K; R0 s/ p, `
  201. CL3:
    6 ?/ k" g# P8 h7 j2 c7 d0 L1 j( o
  202. LDA #$00
    & P: ?# Z1 ~& O& e
  203. STA $2007
    * D, P; F$ H3 o' v) T

  204. 3 L, e9 s8 w3 d6 Z$ g
  205. CL4:4 Q* @$ ~) d8 B1 ?1 t8 I/ g  R
  206. LDA #$00
    / `! A- {+ e% |
  207. STA $2000* Y; v' W4 d- k' N* \5 h7 z4 U2 [, i0 ~
  208. INX
    / D" g! W- Q9 {, _. X2 q( u
  209. INC $BA! W: I" n- _% \' y& S
  210. CPX #$002 ?+ C% _3 R- g% g
  211. BNE CL1
    / U0 _  d3 A  X2 R" `% ?2 m) \
  212. INC $BB1 J2 q( |5 U) [+ W# C
  213. JMP CL1 9 S- r8 [3 b  L$ r; k! J" }" n

  214. ( p. f. Y9 |5 \8 Y6 T

  215. ' g2 q; d! v( G# y# z0 z+ d
  216. FREEWRIYE:
    5 A- ?( a( y$ R, W+ B7 B: s
  217. JSR FREE
    , B$ f2 `& b# a2 s6 Z
  218. & i- ]$ B& @  J; T, r, F

  219. # H' k$ ]* V# y7 ]# N

  220. 0 @/ q" F7 y: O6 W* b! _

  221. . u1 @* }5 A* n
  222. , |# w& `8 ]7 f8 |* j: c: E8 X: g
  223. CLEANF:                ; 恢复现场
    + Q+ Z- ^. ^6 Q2 _- w, b9 |
  224. LDA #$08# g$ a" E& h8 T- M1 u" `) L
  225. STA $FE
    1 v. j' c  Q/ i* T+ }; E  M. L
  226. LDA #$00
    3 [6 [0 e& B4 W( S' K% Y. O7 B
  227. STA $07F64 d0 X+ x6 {3 |; s* t9 l! F3 W; z
  228. LDA #$24* }' e1 T' u" [. P9 b  O
  229. STA $7FC0- S1 ^4 T9 I, C5 a* v  ~
  230. PLA! t2 s6 `$ `9 N/ p5 {5 o
  231. STA $B8
    5 H' A; w* ~, k: Q9 M! o( U3 P( r, V
  232. PLA5 _' e# S" q9 N9 v) r+ L
  233. STA $B97 q1 W1 M% a# g6 b0 a" {$ }# K) \
  234. PLA
    + E2 N- T. L) t; U: M5 u
  235. STA $BA, _% T9 H! H7 L$ j/ z
  236. PLA& O3 ]" ?1 R, _
  237. STA $BB: H5 _4 S1 `, G3 x
  238. PLA
    3 q3 X3 {# T- O% C% J% J
  239. STA $BC
    4 q* r" r; J+ V/ Q
  240. PLA
    $ e: u* _" ~4 b' Z
  241. STA $BD' c! u+ ?0 j) l- h" n4 n; u
  242. CLRF:% E8 [- \5 Q+ g7 S
  243. RTS
    ' Y0 N6 d" S  y5 |% |
  244.   `/ @& |' r8 {2 v
  245. W_DATA:
    3 O4 L8 w7 ?+ W7 ?) n- C7 o. D) {
  246. .BYTE $00,$01,$02,$03,$048 j% R, }; U1 |
  247.   
    7 m# j( V/ Y; v/ f2 y. @  B
  248. W_PPU:2 v2 `6 W+ s- [: L' ~9 _2 f
  249. .BYTE $98,$97,$90,$9D,$96! F. _. Q' h  p& s& k" ]. t

  250. 0 i% O' S/ {3 O& J
  251. P1_STRING:7 l" w, g2 F; R- ~/ G0 u! g1 A
  252. .BYTE $9A,$82,$00                ;"P1"
    , Y4 {+ o8 g3 J  k7 s* d

  253. % ^' Y. S2 m4 o7 y) q$ N
  254. P2_STRING:" L$ w4 D  v( f9 w* N$ \& q
  255. .BYTE $9A,$83,$00                ;"P2"
    5 D8 f% l6 K( t, y2 k/ |

  256. 3 Z9 H$ M% q9 Q: b0 z
  257. WEAPON_STRING:; [: o" ~3 C8 S, f" I* t$ l8 A+ q
  258. .BYTE $A1,$8F,$8B,$9A,$99,$98,$00  ;"WEAPON"
      u% w. ?9 @' n  b) S, F2 K
  259. 0 H. t. w7 m6 Z; T( W
  260. RELIFE_STRING:
    ; r5 w+ G1 q: e, j& z- b) d1 z7 q
  261. .BYTE $9C,$8F,$96,$93,$90,$8F,$00  ;"RELIFE"& N! I7 H; q& j6 g4 E. ?
  262. 0 B0 n+ t. ]9 `  `" Z. f
  263. P1_PPU:& c( w2 b) _0 P0 r6 x; _
  264. LDX #$00; Z' l: T- _* O6 S

  265. * d& l4 k" W: D/ p; k/ n
  266. P1_PPUW:& d5 j7 Y; x/ v( e2 `; p, |
  267. JSR PPUADDR_PROCESS0 \7 Q# D! K, V4 W9 @5 j
  268. LDA P1_STRING,X( s2 z& C/ x; F
  269. STA $2007
    5 Z/ c. O+ J, z! z. s
  270. INX
    1 f% I2 W0 d# N5 K2 s
  271. INC $BA8 l$ [' d  s1 N3 v3 x6 J
  272. CPX #$039 E) x! _3 Z4 t) b# w9 b; U! E
  273. BCC P1_PPUW
    : v' y# Q1 m6 [- @4 V! e. c
  274. LDX #$00
    : n7 F$ d7 s% k1 R
  275. RTS
    ; \6 S4 E! F! D/ e. Z3 T: G- g
  276. 3 t9 Y% m+ E1 F; t( U
  277. P2_PPU:! i* g& U0 w  M7 Z' w8 Y1 g* Z. a7 t* O
  278. LDX #$00: [- W. S& x# k- ?" \
  279. 5 ^+ W: W; E# J: `( \
  280. P2_PPUW:( _+ N4 g5 q; i% ]
  281. JSR PPUADDR_PROCESS
    - t+ [1 n. O. p! g4 q# |3 f7 @* V- @0 i
  282. LDA P2_STRING,X4 M/ ~; x' ?) y0 [. Z& @# d5 I6 ?
  283. STA $20070 E. K, ?4 d8 O( C! w% s& y3 A
  284. INX& t" ]8 N* W  }( O, W( {9 n3 [
  285. INC $BA
    5 R9 l. Z- J, ^# \
  286. CPX #$03" W. J' n4 g4 V! r& E
  287. BCC P2_PPUW
    $ F" f) ?9 X, O! z
  288. LDX #$00
    + O1 [# }. L/ d# e# A) \. D4 R
  289. RTS
    . s, G, e# `7 z; E3 }! x- C& Z( |

  290. 2 {2 @! X, U4 b( j: V
  291. - Y) B  W) \7 q& S  C
  292. LDA $BB
    6 _& D, a# I; M1 E( U8 ~; E
  293. STA $20067 K( q1 u  Z! S* s$ J
  294. LDA $BA
    : k" r! J6 f0 X2 k
  295. STA $20063 V$ ~. j# r' R
  296. RTS
    0 k; {- F& c3 H2 L, y  S9 q

  297. & g0 `7 h" @6 Z" O4 B' F
  298. & E2 R; r0 Z# ~! t1 p
  299. 6 Q. T, O% Z8 L% ~. a* y8 y
  300. PLAYERLIFE:9 {& Y& x6 a! y. T
  301. JSR LIFETODEC: U$ F% R# ~( V" ]5 Q4 m  `( j
  302. LIFEPPU1:
    1 E$ p; }8 ~) B' R
  303. LDX #$00, `8 P" [, L: `, P! o. f
  304. LIFEPPU1RE:
    % U3 A' ^+ x% [
  305. JSR PPUADDR_PROCESS: D0 W% K/ c( ^
  306. LDA RELIFE_STRING,X
    * F* x, M) r! _1 R  v* A( W$ |
  307. STA $2007
    & F' Q) x( J6 M
  308. INX
    2 P  d4 t. A9 Q# S# f
  309. INC $BA
    8 I% Q6 ^0 `! U) ]- g  s* P
  310. CPX #$07; l& h, z3 W. k: @! d
  311. BCC LIFEPPU1RE
    : [( V+ M/ I0 r8 g5 Z! ]7 H

  312. " I. [  G2 E" L6 q( Y0 U$ W$ y
  313. LIFEDEC:                ;生命显示写入" Z9 P' A2 n1 ^% H8 |" W' T" e' M1 T0 S
  314. LDX #$00
    & `* N) W7 C! v. Q4 F
  315. LIFEDECRE:
    8 Z& O& l. i: `. e! B$ F: i9 F1 N
  316. LDA $7A03,X& b% L* M: o, |$ W6 J
  317. CLC
    ! M( r" ^  p  l+ T
  318. ADC #$819 K) w& I# x7 k) @* [2 X
  319. STA $2007
    ( S; d/ g. c: z$ j% [7 o; H7 q' a
  320. INX+ E* M6 r  I) S8 F0 _# O% P
  321. INC $BA+ n6 C- O& o# C) ?
  322. CPX #$03
      u! O/ v2 F: }. o6 ]$ E5 [
  323. BCC LIFEDECRE6 F+ y% N  G* D) B- J
  324. LDX #$00
    3 H( ~8 p/ F# s- C
  325. RTS
    ; ~' `  w3 ]0 d( J( |
  326. : g! G/ Q. b% `" x! `4 r
  327. LIFETODEC:                ;十进制转换
    1 [# U* c4 E+ ?0 K6 _# B5 x' \
  328. LIFEL1:        ;initialise' F8 u. C# b6 k$ W# F
  329. STA $7A00        ;$7A00=F3% ~% W0 N7 ~8 D& J
  330. LDA #$001 Y# q0 H- O% D, ]
  331. STA $7A03        ;$7A03=00
    1 P$ z) @) ^# h5 W2 v
  332. STA $7A04        ;$7A04=00
    $ C0 a. @* P- a1 q
  333. STA $7A05        ;$7A05=00
    $ R9 g# G& g. H" t: D
  334. LIFEL2:        ;copy data $7A00 to 6001, c9 P8 t" Y$ q6 Y
  335. LDA $7A00' c3 {3 f* ^* w. g+ k; T  m% L
  336. STA $7A01
    7 F1 ]" v& e; {3 n2 F
  337. # _3 \7 a% c8 p2 X$ V" Y& F2 A
  338. LIFEL3:         ;hundred
    + a+ Y0 a* _* }& j( j
  339. LDA $7A01
    ' H& _8 X! Y3 d* o7 C3 U# C
  340. CMP #$64
    ) C! W" J; a5 X+ M/ S- j
  341. BCC LIFEL6                ;$7A01<100 goto L65 B# X" @8 h1 e% q: O7 R: K
  342. LIFEL4:" p$ x0 F4 O( M: b( `9 L
  343. LDA $7A01( a+ G: E8 `1 E
  344. SEC& L- _$ t; f% Z2 a6 o
  345. SBC #$64        ;$7A01=$7A01-100* y, E5 c/ U2 Z1 f) b4 q' U3 L
  346. STA $7A010 d9 l2 }$ J6 X
  347. INC $7A03        ;hundred++( k. f3 [  s0 U% W/ H3 C+ w& J
  348. LIFEL5:" H, K, Z: l. u- z* v
  349. LDA $7A014 a5 w1 T8 E8 i0 f- Q
  350. CMP #$64
    3 h1 B' i. L/ z& U; p
  351. BCS LIFEL4                ;$7A01>100 goto L4
    4 c: P( ~+ P# u( i) s7 z1 }3 c

  352. * a* @2 C  T, `* f& X
  353. LIFEL6:        ;decade* ]$ t1 s) S" ?% r
  354. LDA $7A01
    : Z" D5 j8 U0 p% Y9 g: C9 E
  355. CMP #$0A- x5 s9 q* J, e  M. F! K8 t" Y
  356. BCC LIFEL9                ;$7A01<10 goto L9
    1 ?3 W0 r8 K( `" q, H4 Y. x
  357. LIFEL7:        2 U, w4 q; R. i# Y  H" w/ R% C
  358. LDA $7A01
    ! t8 W9 _3 R& a7 g  z5 _* r
  359. SEC
    - q, g" w! L- @* E+ F
  360. SBC #$0A5 m$ k/ E- }! I( e; m0 Y
  361. STA $7A01        ;$7A01=$7A01-10( V- g" ]9 w1 \  ~8 o
  362. INC $7A04        ;decade++- k' _, i; Y* Y
  363. LIFEL8:
    5 z0 H/ R' h# t5 Z( K
  364. LDA $7A01
    2 ?' C7 r% y/ m: }6 }; W
  365. CMP #$0A5 g6 ~8 k. i9 x9 C, Z# p! B
  366. BCS LIFEL7                ;$7A01>10 goto L7
    : [% d; N6 S* P, k0 L! ]
  367. ;unit
    ) r7 b: V" E* \4 t( R
  368. LIFEL9:2 v$ C. }3 U, U3 y5 J" Q
  369. LDA $7A01        ;$7A05=$7A011 A0 C1 \# Z5 @. P' d' N
  370. STA $7A05        ;unit) g2 {) M* G( c5 d
  371. RTS        ;return' C5 R* b: R$ c7 B4 M# O( ^+ G
  372. % u( U0 l7 m8 b0 f$ c! Z
  373. 2 Y( T* [/ X9 s3 N& e' Z
  374. 1 H* }+ g  p$ Z" D9 t
  375. WEA:                ;武器ppu写入
    + W4 o* u. v* ^
  376. LDX #$00: X0 q+ S5 O$ S& T# f" r
  377. WEARE:& S, R5 P# M0 y# [( T# ?( V$ U2 v
  378. JSR PPUADDR_PROCESS
    , z/ Y$ C" f2 o$ b
  379. LDA WEAPON_STRING,X
    6 a" C( W$ s$ H9 K/ ?  f
  380. STA $2007
    - C: [. J# q5 \- t8 S. B. j0 c$ ~
  381. LDA #$007 u/ Y' z# e9 C& v6 z. W9 @, Q
  382. STA $2000
    " Q" F7 V+ v, z
  383. INX! c& P% F2 l" g0 M( f: I# P) X; s$ G, g
  384. INC $BA* H% N* E5 x0 H; _7 @+ ^: l
  385. CPX #$07
    ( P/ H& @3 l7 z) H. `+ A8 T
  386. BCC WEARE
    4 [! ?7 x# r, A" w6 M+ \- w; o: E3 d
  387. ' S4 ?' x/ E1 n, e* J; y
  388. READ_WEA:* w& M: Z. q) }% v$ I- ?3 X0 e/ g
  389. LDA $B9/ X  G3 _4 b0 [; r; N; c
  390. AND #$10
    / v/ M( b; V  U2 w3 P  f
  391. BEQ NWEA+ O/ A* ]4 x5 M7 ~" d
  392. SWEA:
    & w, d# |# g" G5 j

  393. 3 p+ i% `6 g( G$ S
  394. LDA #$9D# R4 p3 F$ G( N8 r6 Y& w) p
  395. STA $20079 w/ R* _4 \1 _5 K
  396. LDA #$004 o# z% J" `% x% H+ ^
  397. STA $2000
    ; f8 T* v- Z9 j6 F
  398. INC $BA
    - C% `6 a% {5 v# E& p
  399. LDX #$00$ S5 J  @! `7 Y* D( Q3 V5 F2 u2 s
  400. JMP WEAREAD
    & w; R1 U# T3 T
  401. NWEA:9 n9 n, F( a/ Q6 W0 s) J7 b

  402. 4 ^* g, N$ Z" P' P: B7 I% n
  403. LDA #$8D5 X8 v, x0 [& [2 X
  404. STA $2007
    5 N9 {: n6 S/ \* I8 {; }8 {
  405. LDA #$00
    # z6 X2 @+ b3 n, h# ^, b
  406. STA $2000$ d7 y; k! S8 l7 C9 D! U, @
  407. INC $BA) c: f( L3 u5 i
  408. LDX #$00
    + p* n. c. ~6 v
  409. WEAREAD:9 w- W& x2 H3 l8 g; O" G
  410. LDA $B9" ]  d3 W' x0 h8 N* k! d
  411. AND #$EF" @8 m7 |& T) B5 ?
  412. CMP W_DATA,X* N5 x0 Y0 Y! u  K
  413. BNE WEACMP: v8 ^) _2 ?+ N" T- k. ~' |

  414. / @) U! f! r3 A
  415. LDA W_PPU,X! H6 ?: M1 A# b/ Q2 v# ]
  416. STA $20077 }( T7 ~* H9 n9 E7 S1 r4 q
  417. LDA #$00
    3 ~& R- N6 {( e7 ]" V+ `% r
  418. STA $2000
    ; D' u+ ~; b8 E: [5 b

  419. ) M, R- h1 C9 B/ a
  420. WEACMP:$ x% `2 H0 ~3 `/ Y; U& j
  421. INX
    & y; L; b8 L) K  q: m
  422. CPX #$052 i) O0 r2 E& C+ C" w, i. l
  423. BCC WEAREAD
    / y5 T* k( P3 Y; ~1 M- F. H; a0 z
  424. RTS# _: g% M( R$ j8 t* A- Q1 v
  425. + W& ^( U( P1 Q! T  j8 Z* ~

  426. $ `% T0 v9 H1 v6 @
  427. PPUWRITE:: {+ E- a4 h5 U- y
  428. PLA! i1 w# l# I: C7 U. J
  429. TAY
    " T& |1 z% x, f1 i, R2 j
  430. PLA
    1 u' ?3 \! }% j- o4 n) r, {
  431. TAX
    6 s% v5 s- g) j: h
  432. PLA
      |% d4 i2 j9 J( T
  433. LDA $252 \7 x1 o% U! S7 L
  434. CMP #$002 l4 G, X6 V% W& f* Q  M
  435. BEQ WP1' N) p" D+ s* |0 I, i
  436. LDA $25& U  S$ F. [2 g1 s# w# C& L7 v8 g
  437. CMP #$01$ r% W0 g8 T$ ?* i' u1 h) B
  438. BNE WRE
    . ^% C  j7 ^, J" \- {
  439. LDA $F5,X
    * u. e$ O% _2 B& }
  440. AND #$EF0 A1 W9 K# E% {5 r
  441. BEQ WRE
    7 f* M7 H: v8 z: J
  442. LDA #$00
    5 D7 J# a* s4 Y1 s. ?1 d' C
  443. STA $7FA0) l+ B' k4 V& t# d, d. \$ B5 F' ~4 E
  444. 7 G% n+ C* `0 @$ {
  445. WRE:
    1 [2 ?8 y9 N( k5 N2 g, e6 w
  446. JMP $A0005 p4 L% Z) t! C
  447. : `( e* j" i" ~8 y
  448. WP1:2 s0 E0 g3 L+ ?1 P' q' P& p- n; Q
  449. LDA $7FFF% h- a* p5 r% c  Z
  450. CMP #$FF
    / T7 m0 n% Z* [7 N
  451. BNE WRE) w! X; ]( i  V: x' d* v
  452. LDA #$004 v- V3 T3 H7 X4 g( Z! g0 z: U
  453. STA $20011 `" z8 y4 Q" I5 A; b5 P
  454. LDA $BD
    : A1 R% a1 Y2 [5 t9 A
  455. PHA
    . d/ Y3 H* R+ A  t, W. I
  456. LDA $BC
    : r8 M& F  \) u' M0 e
  457. PHA
    2 M: \' N8 t# x, I' D4 F8 e1 G
  458. LDA $BB
    " x/ z+ j" b  I; [
  459. PHA
    " ^6 @& _7 m: e% Q$ z* V) @9 G
  460. LDA $BA1 G% N- D# W+ i, [( C1 d5 v7 _
  461. PHA
    % O' e# ]$ O: R1 y
  462. LDA $B9
    5 P0 X4 ~5 x. F% r' L
  463. PHA
    6 Q1 M" C5 m5 n- J% x( s
  464. LDA $B8
    : r) f0 c) p; ?3 u; y- e1 v1 [3 y8 u
  465. PHA8 C5 g, K, n2 e
  466. LDA #$00, y3 g3 u" f  |. S5 f, F9 Z
  467. STA $B80 ~& X6 ^' j& \7 O
  468. STA $B9. e" k4 t% U% E, [. ?5 u
  469. STA $BA
    3 C- k) d/ Q# `/ Z  Z+ v& h
  470. STA $BB( `/ e. A. e, h' h3 O+ @- Y
  471. STA $BC
    ' n) A( j. T9 a! R+ {' T9 x* J
  472. STA $BD0 c* v( s. X5 [
  473. LDA #$00
    & C) w: P6 o, H9 \- ~- ^
  474. STA $7FFF( Z( Z3 z, b4 S  ]" g! u. g
  475. LDA $30  K3 X2 x9 i' _! }/ [% i
  476. CMP #$02
    . ]7 h$ H- f+ {0 J0 G$ G4 {% {
  477. BNE UNPROCPL5 ]; M5 J5 S- O  C% Z7 W2 Z- x* ~: h. g
  478. LDA $7EFC
    4 q2 r* w) Q9 C5 }3 R
  479. STA $FC/ P3 |5 E; ?. J9 v6 h
  480. LDA #$00
    ! C0 C. U" U+ m$ q  S7 f
  481. STA $A4
    ' I/ V7 i2 \' D, p7 H. E9 _! N  X) ^
  482. STA $A5
    4 c9 @6 B& z) i4 O
  483. UNPROCPL:
    : J: N7 U; y" K  B
  484. LDA $7EFD
    # y; C0 M5 V/ v% ~
  485. STA $FD) M, I# L& v! t% u
  486. LDA $7EFF: c4 e/ `! E% K7 F8 ~7 M3 L
  487. STA $FF, k( z8 Q( o% Y. n% Y/ p" s+ q+ o# w

  488. - B' u! N) c; C- D# S2 Z
  489. WL0:
    ( k0 r2 Y( X2 ~& W5 n
  490. LDX #$00: e3 z: S+ P, r& p* W. z
  491. LDY #$004 G# w6 P5 k$ N6 X* v% {  w0 E( B5 |
  492. LDA #$006 @7 Q! Q" |4 x6 @8 E
  493. STA $BA" T$ ?9 u2 F4 y* w( u( I. K3 ?
  494. LDA #$20& N* l: R- O0 B3 V4 k( p$ n' A
  495. STA $BB7 |& G, K, g- i$ D$ C- R
  496. LDA #$00
    6 {. }. h# h0 A+ w
  497. STA $BC3 Q) u, s+ }) y& ?8 H7 {
  498. LDA #$60
    0 G6 `2 s1 {1 @1 f3 G, i
  499. STA $BD
    2 d  Y: s% @& p8 o
  500. " H1 F; W3 X8 s
  501. WL1:
    3 U# ]( R$ s1 P. F$ {) r
  502. LDA $BD
    : a1 M3 ?! {; [! Z$ F
  503. CMP #$70
    # t- F( Z8 M& n$ N) h# s  i' `
  504. BNE WL2
    6 e2 @5 Z2 M9 P, C# a+ y- c
  505. LDA $BC
    3 ]1 L* s4 A' i( b
  506. CMP #$00
    , q4 n0 W8 p& R* R1 S( q
  507. BEQ WLR# \* b3 I7 Z( X. t1 \4 r; {' C

  508. ! j* d8 q: @: N' z
  509. WL2:* v0 O( Q& q4 t9 t& c! q+ t  I
  510. LDA $BD7 V0 Q' a  @! [/ {0 U- s: q
  511. STA $2006& ]" ^; j. K0 q! D
  512. LDA $BC" J7 V0 V$ n% W
  513. STA $2006; K/ [$ [. ~' R7 T4 h+ P# K0 y

  514. / W) x- F( y7 J" N7 ^  a" }' d
  515. WL3:. F; n. z" y8 d7 h
  516. LDA ($BC),Y& W. E8 t+ q$ f( I0 J
  517. STA $2007, f( j  O( O1 n% z( u+ N
  518. # S5 C/ G8 S: |' s9 b1 v5 ?6 x4 B6 O
  519. WL4:
    2 A4 P& @+ V: V. q
  520. LDA #$00
    & {3 Y3 O: c/ J* f, t
  521. STA $2000
    - D" A9 ?% j( ^$ j1 l5 Z9 }
  522. INX6 K, x5 x) I' }9 q( h) f
  523. INC $BA
    0 l, e# e! G  |' @. d" A+ W
  524. INC $BC& [" V" ~) d1 ~/ K: u
  525. CPX #$00- d0 i7 x% d- X; W, m9 T
  526. BNE WL10 W$ Q8 a  t" ^
  527. INC $BB
    * {* u4 u. D8 z* [; c7 V5 l+ t6 ?
  528. INC $BD2 ^, A7 d+ j! I' J- h
  529. JMP WL18 Z1 t1 m1 |' N

  530. * f; W+ u5 L  [  l; j
  531. WLR:* o6 p" a- B/ N0 O- W! P9 M
  532. LDA $7FFE
    " T; T' Z" X  B6 j' D7 e% H- G0 s
  533. STA $07F65 J! W8 H; j6 b$ m5 @
  534. LDA $7FFD" E2 u5 l* g! X+ [+ X
  535. STA $00FE! b) g. ?" A1 W9 I7 u& g9 v' z0 t
  536. LDA $7FC1
    / j* w; `; E- i4 V
  537. STA $07C13 n; {; _8 @; ~7 m: S0 a
  538. LDA #$3F1 g1 {8 _4 L5 w% k
  539. STA $2006
    ' O# H( B% q0 J9 l; E  c
  540. LDA #$01
    / \  h  A( Q" D8 b# B
  541. STA $2006
    % Z6 W* R8 ]# a. \/ K. {  ~1 c
  542. LDA $07C1
      L  U5 I8 ^: y9 R
  543. STA $2007) ]5 o  }+ Q# l7 [
  544. LDA #$00
    2 A' h1 }7 q. L) q8 R
  545. STA $20003 j9 X" K6 B5 q$ [0 @+ o# M1 _' t
  546. PLA5 _6 a0 |, A* e' o' _: o3 P2 W
  547. STA $B8
    - d$ {  c: L  Z
  548. PLA
    9 e3 H/ f, q% c
  549. STA $B9
    . b; |5 v9 j" p. r# x
  550. PLA
    * u8 T: M' x- ^! ?9 d
  551. STA $BA/ J. L( c4 T& F0 k" e; u
  552. PLA; Z1 s# S# H7 I: U
  553. STA $BB  y5 h; W4 y, i& V0 G4 E
  554. PLA% e: F) a' \! u+ g9 [, f, e+ f! c9 x
  555. STA $BC) z0 `; E5 L" ?: y+ F9 K
  556. PLA
    $ O( g, r6 ^4 J+ \8 q
  557. STA $BD
    ) s# L* Z+ _6 }: P" q
  558. JMP $A000% ~. j  w  ~9 I1 L, W

  559. 6 ]' @* d% E! ~+ c
  560. FREE:                ; 暂存器保护0 h8 [- T" u& s, n
  561. LDA $BD: u8 s) W. e; \" y
  562. PHA
    ! _3 M2 m5 v) l# ~9 e
  563. LDA $BC
    8 R4 u$ j6 W+ k
  564. PHA
    . ?# V& c/ n" E" t
  565. LDA $BB
    3 {( n+ H+ B$ Z- o  H% X$ e
  566. PHA% L5 T0 }' F- v) I2 ]# Y7 R
  567. LDA $BA
    1 e9 U% W; F: E! p+ H5 M. G" {1 d% {
  568. PHA7 l! f: P( I! q$ V% s
  569. LDA $B9+ e* o; U; F4 _% g. R
  570. PHA
    ' ], v1 X$ }" ]
  571. LDA $B8
    . R8 }: ]% ^2 L( _  [2 `/ W+ _& {
  572. PHA
    ! j! a# i. d: g* g- Z
  573. LDA #$00
    ' ]/ J$ t4 Q8 X: J! i* Q  _
  574. STA $B8* S2 P" D) c7 z' v8 J% Q
  575. STA $B9
    0 c5 i* _1 `9 q- x7 y6 X
  576. STA $BA
    3 V  C9 J$ |2 N+ c/ }5 F) A# e6 ^
  577. STA $BB9 m( M5 t3 {" N; ~/ K" }# V2 E$ [
  578. STA $BC* i1 z6 k( F) v9 ]* k( y& S
  579. STA $BD% i3 l) b6 i( H# S4 r) Z
  580. # ]& K7 o1 ^# _
  581. WEAWRITE:                ;武器ppu写入
    5 p* @/ k5 a! b; {
  582. LDX #$00' `7 U, v! F( o
  583. LDA $AA
    6 M, N/ O; G# T0 `8 T& c! K
  584. STA $B9% p1 I8 N5 D! K* m/ @0 K' H
  585. WEAINI:                ;地值初始化' |$ Z" O0 V) }. _
  586. LDA #$A4
    6 P8 Q- \( L: }, x2 f7 W! ~
  587. STA $BA
    4 o' @2 n0 N/ }' U: }% x4 U
  588. LDA #$20
    8 o6 k2 \4 F: p& O
  589. STA $BB& [  A  P4 V( A

  590. ; |  ^7 p* ~$ w: X
  591. ! G" q5 W' t5 i" ~% A. R! Y% p' C
  592. JSR WEA- i7 y* g4 [' R4 z/ U% M& Y5 K+ ?- ~
  593. LDX #$00                ;武器ppu写入' G- k5 N" {- X( j) n: S
  594. LDA $AB$ H6 T: d  y5 I; m- f6 k" ~: }
  595. STA $B9+ {& f. Y  j6 g" _' D" b$ [7 U
  596. LDA #$B3
    4 N$ B# R) ?0 d8 \" D
  597. STA $BA9 E2 X7 x# X4 B; Q7 |7 ]
  598. LDA #$20
    1 u( i) K/ V( Z: b! F
  599. STA $BB4 ^) E8 }$ D9 U- j& a, J

  600. ' O& y  a8 p0 D
  601. 4 I7 _2 A+ M0 L' @
  602. JSR WEA
    6 i6 @) ~2 r; f8 F  w) Z2 b

  603. ; Y( y+ i1 h. U
  604. LDX #$00
    / Z$ {0 p: @2 }8 \
  605. LDA #$E4
    ' R# t  h- ~# p4 l9 z. M4 H' R8 T
  606. STA $BA% m8 W8 P( V+ z
  607. LDA #$20
    0 ?3 O; E( n8 s) L; F9 A+ M4 W8 [
  608. STA $BB9 n' I+ L- Y. h, `& U. _+ V5 _6 [

  609. , x9 u+ |; ~+ e6 `

  610. 7 X0 U1 G* G: T5 ~
  611. LDA $323 K6 e( M8 o: n
  612. JSR PLAYERLIFE6 T1 W$ Q( C6 o  s# l, r: Q
  613. 5 v2 @- c& o1 c) [! {
  614. LDX #$00" D9 z8 a* i; v" e# }
  615. LDA #$F3
    ) J5 J9 }2 O3 Q+ E/ t; s
  616. STA $BA
    / j, b+ r! s3 H
  617. LDA #$205 x. q8 `# Q1 W, U( K; _9 h% u& Y
  618. STA $BB' k0 a' ]8 F6 m; j1 p: V
  619. 8 t% j7 {' n6 j5 X
  620. 6 }+ Q# ?. G. q# E
  621. LDA $334 S( e: U/ G7 `
  622. JSR PLAYERLIFE1 \6 e- j4 L/ v- f
  623. 4 \+ |" o# G! R. |, X7 E
  624.   O1 S6 e6 O/ T, P
  625. JSR PLAYER_01_PPU
    ) b3 r$ x3 S6 M8 E2 o
  626. JSR PLAYER_02_PPU* a; D1 [) i' m7 ]9 m8 l

  627. 5 U6 a  A" Y* @

  628. # G( S$ |) Z3 I" {& ^4 D6 [
  629. JSR PAGE_PPU
    ' x* C, B0 _/ d9 W
  630. JSR PAGESELECT
    ( U# u% [! T% m+ j9 J+ g) K

  631. + A& T$ q( z6 ]/ n
  632. & `4 F1 k3 J5 ^; M: o( u
  633. 3 P) _6 F4 h6 Z7 q9 y
  634. 9 w; R* p; P) j; F

  635. % }7 P9 m6 A# s# y2 m

  636. 3 O$ s  V, ^1 b( Z% P9 X! x

  637. + J5 [' x$ m/ `4 f

  638. 0 S& g3 I1 ^( H8 {( ?8 t( W
  639.   X" P! g- `  t# S% ~

  640. - @) B# _/ j; U8 m8 [

  641. 8 C/ a/ x% A& s

  642. + ^# e( L* z4 S$ I" [4 {
  643. & f* E8 V0 z( B1 b/ D! |' n, T
  644. PLAPRO:                ;恢复现场
    & R* ^; ?% m5 W. [; I
  645. PLA
    # ~2 a8 P) k- ]6 b
  646. STA $B87 t& v8 Q7 ?1 r3 X5 M
  647. PLA
    0 k; q2 |# U2 Y7 F' i# t5 D5 H) y
  648. STA $B9
    4 F6 F8 @: Z1 ^$ f
  649. PLA9 b1 o& \) N9 H. J
  650. STA $BA, p- t% ?3 K7 \( o* ]% `
  651. PLA) J4 @% ~# ~+ p: [
  652. STA $BB+ K2 ^7 t3 H- c# I0 ^+ R% e
  653. PLA
    * k! [( I6 @- a3 K, n( D" H! }
  654. STA $BC2 \- w2 Q  c) s9 [) J1 B
  655. PLA
    3 B6 \8 e" N8 l: x' U6 b% u
  656. STA $BD  ^. ~1 w8 R. ^- [/ [
  657. FREERTS:7 \4 C! i& M2 h2 s1 r0 i8 u- ^
  658. RTS
    , M0 R! t0 _8 _) R: D
  659. 1 c5 E  B3 F! B5 C# u
  660. INVINC_STRING:                        ;invincible" G: s1 R% h" L  k
  661. .BYTE $93,$98,$A0,$93,$98,$8D,$80
    ! C1 {- H" J* l0 W. t' q

  662. - A8 H- C; |" Z+ Q6 P
  663. INVINC_PPU:3 e/ [- Y# b2 A0 ?* n0 }" O
  664. LDX #$009 t( ^/ v, f& J4 I  h
  665. LDA #$62/ V# j, x8 B, G# [
  666. STA $BA
    2 D+ v5 f! C( i: u5 g
  667. LDA #$215 w  T7 b0 S5 e
  668. STA $BB* \6 X% k. J2 [8 v" @5 n( Q' l2 {# X

  669. 2 ^5 b" O( K- R4 q8 j
  670.   Q6 h( H+ R" V
  671. JSR UP_PPU
    - \2 x: A4 R7 \" j$ B3 W! J% N
  672. JSR INVINC_WRITE
    1 F9 Y" N3 R7 u' U, G' Z. T+ O
  673. LDX #$00
    + f* N' Q( j% M
  674. LDA $07A00 s5 i, I+ _3 Q
  675. AND #$01
    % O! G7 G# x+ @) T6 b
  676. JSR ON_OFF_PPU- B/ z: U0 q/ Q4 ~4 a
  677. LDX #$00, Q7 f1 q9 p; |7 x4 j: c
  678. LDA #$71% B) B& L0 ^- F' s0 b6 ^  I* ~
  679. STA $BA
    ' X8 g3 ?6 I7 P1 I
  680. LDA #$21. j% I; A; e, b: e& C% l" B
  681. STA $BB1 \# v* m/ G7 V8 G; e# u4 s# Q

  682. + C& P( u% O$ _& O
  683. ( C1 O! A( w5 u. r
  684. JSR UP_PPU, G0 A# S. A" d, }5 `' s
  685. JSR INVINC_WRITE7 L9 z1 M/ G$ R+ }2 |  m
  686. LDX #$007 A0 l0 n# ~  V" E
  687. LDA $07A1: w( H% L, H' b$ q1 ?4 O' Y- R! B( h
  688. AND #$01# B' l+ g( k  x( ~; o( r& A
  689. JSR ON_OFF_PPU! i8 z9 N  E1 I/ y% w9 V& b& D9 p
  690. RTS+ W7 e# H% n1 Q. I# j& |, N
  691. . @# V9 s) D' h5 ~% L5 C# B0 Y* j
  692. INVINC_WRITE:) U2 E; t' L8 T. L) k8 N9 @
  693. LDX #$00, E0 E$ L; O' G/ \4 a
  694. INWRITE:
    . D8 Y7 Y" C% o9 o* h9 z# R+ {8 C
  695. JSR PPUADDR_PROCESS
    9 `) F2 q7 [( H( q# U4 X) p- Z
  696. LDA INVINC_STRING,X
    - F4 S2 ]0 R. S; ^) a
  697. STA $20074 T( @( t, B  [5 w# D6 D& p: t
  698. LDA #$00& a1 j- d+ t$ I4 U8 O5 F+ ?& m
  699. STA $2000( X- p" D: u  z  M- T% c0 ~/ B
  700. INC $BA
    - b4 n& K5 O! I
  701. INX4 }. K! k" T; e" h1 d$ m; ]9 r9 d
  702. CPX #$07# d: y: e  T, g8 ^2 T3 G
  703. BCC INWRITE
    # T( b2 V  Z1 L% D  ]1 L: u
  704. RTS- |" t# \! g+ l" T* b

  705. 1 R4 B3 m  W! J/ v: L0 C. v* \8 h3 }
  706. ON_STRING:
    0 T$ y5 Z' V& [. h$ H- U
  707. .BYTE $99,$98,$803 k* x- z  C  q# B, E( c

  708. 5 ^- O% J- X& `' u% ^
  709. OFF_STRING:( x) B8 x4 {' ^  ^" B  x8 j
  710. .BYTE $99,$90,$90  s1 r9 F& Y: W# q% [
  711. . d- D% b8 ~7 t, [. i! [
  712. ON_OFF_PPU:
    ! S. j; u8 z' ?+ t# N
  713. BEQ OFFWR% a) \4 L  {% D; l
  714. ONWR:% O7 \% W* ~4 ]/ o: j
  715. JSR PPUADDR_PROCESS
    7 x1 |6 P; {5 m+ E$ @( ^9 S
  716. LDA ON_STRING,X
    ! ]# [$ R5 c7 S. \) S+ \
  717. STA $2007$ I, t8 A$ |- z* i) \, F
  718. INC $BA
    + @, X/ N( A  K" p& y. n: N
  719. INX
    ! L7 g8 p+ z6 i2 c6 x0 C- I
  720. CPX #$03* Q3 Q' M3 K! k# m+ z$ o; s
  721. BCC ONWR
    3 a% L. _1 Z) |5 p
  722. RTS
    # L# ?& f9 o* T1 @. N* f
  723. OFFWR:
      \* E" X, X$ [3 ]1 e9 X
  724. JSR PPUADDR_PROCESS% p& t. S& j% [3 Q
  725. LDA OFF_STRING,X, i$ e" f% [7 a
  726. STA $2007
    8 Z  e( z" l4 I' U
  727. INC $BA
    " s4 P/ ?9 m% C- m
  728. INX1 V1 o3 c0 U8 }4 z/ N3 m
  729. CPX #$03  ~; j# l  O& X' l% f3 i6 A$ [
  730. BCC OFFWR
    6 b) |/ p8 K5 i9 m& x" x5 n* V/ e
  731. RTS6 t$ V3 C0 ?& R6 E, g; X
  732. ' }( o' B2 E& t8 D
  733. LIFELC15_STRING:& e5 V9 h1 U( }+ t$ ]
  734. .BYTE $96,$93,$90,$8F,$82,$86,$80
    & A/ e- f" d7 _% @, W4 i
  735. ! }' g; m8 F- C& }8 W$ `
  736. LIFELC15_WRITE:" N, ?( T* ]$ @& n5 h5 G7 L% C
  737. LDX #$00) ]4 g& |6 H. r$ y7 G
  738. LIFELC15:6 X1 s% U  K1 n( Z0 r
  739. JSR PPUADDR_PROCESS
    & C7 k/ h8 J2 Q- f2 p6 J3 O
  740. LDA LIFELC15_STRING,X3 d" u8 F0 w; P, {2 S
  741. STA $2007
    1 J0 I* F* v7 I9 s& ^; K4 }
  742. LDA #$00) |5 B8 r7 Q5 n% ~
  743. STA $2000, v) w. s; O1 W. d: w2 \
  744. INC $BA
    2 J9 F* b9 a* O  G5 L- J
  745. INX9 f: `0 o+ d( K0 B
  746. CPX #$07& Y8 h4 N* R2 g
  747. BCC LIFELC151 x% S) h" S7 P" z
  748. RTS" g3 d1 P, e  h& ~  ]6 O5 F
  749. $ A* B' U0 u, i. j/ Z$ K
  750. LIFELC15_PPU:, ], S4 H+ a; Y  ^
  751. LDX #$00
    ( X( y4 A2 L( h0 L8 w- v
  752. LDA #$A2
    8 T5 q+ F* \- G( N2 ?9 B  g- _8 ]
  753. STA $BA, {4 `# t+ T# C) y6 g! o
  754. LDA #$21$ U8 Q! f0 G2 T  ]
  755. STA $BB
    " w0 Z$ n7 g  B, `! }# a% E' ^
  756. JSR DN_PPU
    2 i2 i2 `. d: c+ W: F0 C
  757. JSR LIFELC15_WRITE3 g, s& V. w4 s- \  E; b% y
  758. LDX #$00
    7 F' b/ R/ n; _: A7 d
  759. LDA $07A0
    9 o6 K7 m1 a, y8 `1 {- t
  760. AND #$02/ e+ T4 v2 V8 V! H4 k1 X+ Q: @
  761. JSR ON_OFF_PPU
    & `1 J' n9 ?3 E+ f0 X% p# K; N
  762. LDX #$00. k  ^" T$ Q/ v- Q  S+ K+ C
  763. LDA #$B1
    ! q6 b, z4 q! P
  764. STA $BA5 j5 G$ O4 W0 @7 v
  765. LDA #$21
    ! p  W! n% O2 X3 l9 G
  766. STA $BB
    + s" M- T0 v5 {" k. l$ I
  767. JSR DN_PPU
    " o6 [2 a4 h7 V/ V  o0 c
  768. JSR LIFELC15_WRITE
    $ z/ A1 a7 f; ]. j
  769. LDX #$00
    # e; f9 b: d; ]  |% v- \
  770. LDA $07A1' [# B2 i4 w; ^, o6 Q9 @9 N5 _# D
  771. AND #$02
    ; A( R+ W3 i7 G7 v
  772. JSR ON_OFF_PPU
    # j. r) H/ y! T  p, D
  773. RTS5 [& ]; t7 g2 i% a

  774. 9 x7 l  x4 D6 L# k1 t
  775. DOUCON_STRING:+ Q2 v4 h4 @! u
  776. .BYTE $8E,$99,$9F,$8D,$99,$98,$80
    2 f2 c* P; E. @9 N. }8 j0 `
  777. + z* j2 \: O- G
  778. DOUCON_WRITE:
    9 n! b0 B; w6 B: I' H
  779. LDX #$005 @1 s  t1 q- j5 ?: J
  780. DOUCON:/ \! m+ C# Y3 ^4 q6 {, `' m5 R
  781. JSR PPUADDR_PROCESS
    0 c" a& t$ g( Q; ~: G
  782. LDA DOUCON_STRING,X$ R3 ?3 {1 m5 ^
  783. STA $2007; U2 T  a" o' x2 \5 G4 p: I7 F
  784. LDA #$00+ p: d4 G8 r1 J& u( e5 s1 T# J
  785. STA $2000
    - a6 a% p$ I: r
  786. INC $BA% T+ ]0 R+ o  C" A, e# }
  787. INX
    " g4 E. l' L' {7 k$ b  a5 K# j) |
  788. CPX #$078 J) i" ~9 v' j% Z* I* {9 B
  789. BCC DOUCON. |3 A8 e4 g* T2 u; P
  790. RTS. |# M8 y: Z; `) \7 F
  791. 9 P$ t* q& y- _- E& W1 K* v1 Q
  792. DOUCON_PPU:- j; E0 n# g; T' T" r
  793. LDX #$00
    6 X5 E0 n+ f- y7 f. F
  794. LDA #$E2# e* |0 O( i" B3 x
  795. STA $BA
    : M" S8 z* ]# m" D! j
  796. LDA #$21' J. ]" L, Y# K' \
  797. STA $BB7 E+ f: z' `- `; k$ g. ^
  798. JSR LF_PPU
    ; n. H" f' `! G) T
  799. JSR DOUCON_WRITE
    2 d! g4 `4 Z4 i2 l. X% g3 e
  800. LDX #$00' S. S* R" g& L& L5 F2 O& {; C
  801. LDA $07A05 ]# g2 @5 M* p
  802. AND #$049 j0 J8 R0 o: v' k- y/ m
  803. JSR ON_OFF_PPU( B! b" h8 \! u, |. D$ o3 l
  804. LDX #$007 O! m0 X+ f; V9 \/ t7 K0 @
  805. LDA #$F1# e: N& h) D0 A6 H% a& W6 |0 l* b+ r
  806. STA $BA6 c' w1 N$ V6 K. W, y
  807. LDA #$21
    + L$ G+ ~/ Z( W/ t( [' U1 G, V4 x% C2 {3 p
  808. STA $BB
    - l+ N( V, E3 {* t
  809. JSR LF_PPU8 h+ c- s3 m2 E& O; u
  810. JSR DOUCON_WRITE. e/ K- E3 Z3 F3 m- y9 E6 F8 J
  811. LDX #$00( L: Y" E8 Y6 y
  812. LDA $07A1
      ~: c" A0 A# m0 k2 _: I7 A1 J6 r
  813. AND #$04$ Z0 G: T! B9 M& |4 s3 T% f9 ~
  814. JSR ON_OFF_PPU1 p9 m( O' Q/ p, W: e) S
  815. RTS
    # _) h8 \2 o4 M3 W4 I7 J

  816. 4 s% ]* g* C6 S
  817. LIFELOW_STRING:
    # E1 t: r& Y" `" F
  818. .BYTE $96,$93,$90,$96,$99,$A1,$80& e; i+ z3 r6 o7 v4 [. c
  819. / c9 _2 c! R# d+ t" o
  820. LIFELOW_WRITE:
    ( l: u  c9 k' `8 Q$ v- X% ?( e. Q
  821. LDX #$00
    ' ~( a8 T) l5 f/ @
  822. LIFELOW:
    % }0 G: U$ A' _
  823. JSR PPUADDR_PROCESS$ Q) W6 j: x  i0 Y
  824. LDA LIFELOW_STRING,X5 A3 s8 D7 k* G: v
  825. STA $2007; q$ ]5 I  R. Y: w
  826. LDA #$00+ Z/ L+ b5 @3 J; y' {3 R8 \% X
  827. STA $2000
    ! L" f' A2 h% X$ [0 W
  828. INC $BA
    , ]6 p* `% {" I! S4 v5 b9 Y
  829. INX! k0 C$ t) |1 c& u( \4 K! n
  830. CPX #$074 D3 z$ k- a8 G3 }: z
  831. BCC LIFELOW
    , G8 E% C" N- T$ K4 x. ]8 M# ^
  832. RTS$ z1 r* H' U! u- L/ S$ c

  833. 4 L& q& j7 p2 ?0 D) E4 }3 B
  834. LIFELOW_PPU:
    - t4 }# @/ R% E$ l: M
  835. LDX #$004 P2 W7 d9 V0 t  a- `3 @
  836. LDA #$22: F* x& W! V$ V  a* N0 Y# E& U* R. e/ f
  837. STA $BA9 s; E) ^8 l: H* x7 F( J
  838. LDA #$22
      o& n& x7 R# S
  839. STA $BB
      |9 a9 O, U3 P* b2 [3 l

  840. 4 e) ^. p7 f2 X7 r9 z2 S
  841. / U2 ?2 N9 V1 }% D0 @: k' C
  842. JSR RG_PPU
    5 L0 y. l+ N. L, W! {4 A: h* u6 Z
  843. JSR LIFELOW_WRITE
    / j9 z8 \+ a( v/ f7 q: P
  844. LDX #$00
    ( I1 `3 r; f2 T
  845. LDA $07A0
    / c1 v8 @' v# w
  846. AND #$08+ c+ e& Q' ]* x! c: ]* p( y- |; w
  847. JSR ON_OFF_PPU
    . ]) k6 Z& b% ~% y  B# V0 q2 }
  848. LDX #$00
    7 k) L" |9 v4 f$ q, J
  849. LDA #$31
    ) Z- }8 [4 N; J
  850. STA $BA4 H& Z7 b4 s' @* ]
  851. LDA #$22
    " a. f" S. d- }) e9 b7 |
  852. STA $BB( F0 S; a3 ^) [# j: j4 y2 w

  853. + b, T/ b# \2 [5 I

  854. - K% P( Z: Q9 h- C% O8 E+ Y9 c0 j3 M4 X
  855. JSR RG_PPU
    ( R3 U4 n6 `, t5 y$ F8 h
  856. JSR LIFELOW_WRITE
    0 t$ X2 @( |/ l+ |
  857. LDX #$008 s; `# I: ?, R8 ~
  858. LDA $07A1, [7 v$ O, S' }; Y. f3 }9 f
  859. AND #$08) E5 P4 S) D6 T4 a8 X: a
  860. JSR ON_OFF_PPU7 h/ Z! e, y* B3 c$ U4 t& ]3 `# K! D
  861. RTS/ a- Y+ v5 _! O1 l. b

  862. , x( k. F. d$ t; q/ @. P
  863. KILLON_STRING:, Q' Q2 u! B$ _( @$ |  n
  864. .BYTE $95,$93,$96,$96,$99,$98,$803 ^) {6 e: S  y! M: h* r

  865. 9 z  M, r0 N- B- T  V9 ^1 G
  866. KILLON_WRITE:' B  u5 L  i- I
  867. LDX #$00
    9 C' V+ q8 `2 l- C/ g2 K  {+ e0 c: U2 l
  868. KILLON:
    8 c0 R9 \6 P5 c+ M' e4 V
  869. JSR PPUADDR_PROCESS6 ~) Q7 p3 `1 x% F! x/ ^1 `
  870. LDA KILLON_STRING,X/ h9 a, ]/ _: m2 A
  871. STA $2007
    9 r; O- K" }7 l& G) i( f& n
  872. LDA #$00
    ( O9 Z; B4 W" G9 \9 z6 W
  873. STA $20002 P8 z+ @- U6 `# l% P! S/ ]( w5 Z
  874. INC $BA
    3 Y7 l! x4 h" Y
  875. INX
    9 B7 X/ [# {2 H3 t4 E; O5 N4 L
  876. CPX #$077 j; Z; i7 ]8 U  ]) c$ U8 `: C7 R6 f" c
  877. BCC KILLON
    7 N$ ?; M5 C# F7 e0 T3 C, R
  878. RTS/ }4 G* X6 I. J7 H$ T
  879. 1 P: q" h' u% a' t1 P% Q
  880. KILLON_PPU:# x* ?4 i& \, O# R/ E$ M
  881. LDX #$00
    ( ^2 J0 ?- h2 V; C+ Z
  882. LDA #$62
    " Z; n1 o, e2 b& A. b& l8 n
  883. STA $BA6 X2 w. m8 V% g8 j  L# I
  884. LDA #$220 P# j; }! M& l# t1 H4 [
  885. STA $BB8 a5 o  i" A5 f5 T# p" B3 o
  886. ! O3 ]4 X& u! z1 s# |

  887. 0 B. A" e8 p+ q7 \; B$ i! X
  888. JSR B_PPU
    $ A: p; H# P4 u( v& I1 u2 W
  889. JSR KILLON_WRITE
    5 ?6 p) G' y; |7 Z; Z' g0 v
  890. LDX #$00
    ) _! m( c( {& W, ~: i% E7 m8 T- ?! w
  891. LDA $07A0
    9 g. t1 [  g& B
  892. AND #$10
    , o+ w9 S3 l9 ~1 ?/ W3 x6 [$ f8 f
  893. JSR ON_OFF_PPU
    ) M) h( F6 i. z0 ]3 w8 F
  894. LDX #$00
    # A3 G6 E; `0 G. s) D
  895. LDA #$71
    : O4 o  }- E* U
  896. STA $BA% ^4 b. j& P3 H: |+ ~
  897. LDA #$22
      N4 T% M1 |' G( N% Z
  898. STA $BB) X1 y! _! f) b3 d; W  \. H) |, a2 J
  899. , Q' {* d9 P4 w( d% ^& k5 Z

  900. - M5 y0 j" h% A+ `7 r: ]* {
  901. JSR B_PPU
    $ e) m* n& X& q" Z; u8 Q
  902. JSR KILLON_WRITE
    $ h* s% f* d( H6 ^( q
  903. LDX #$00* p- D* P8 C& R  U  t9 D
  904. LDA $07A1( ]5 X: L2 ]1 y2 T# M
  905. AND #$10
    . N0 f; y# O8 F
  906. JSR ON_OFF_PPU
    % K% W. `, y, K2 W$ G) S$ H7 O
  907. RTS1 |$ F2 Q" P! X/ O, {0 j
  908. 7 q: y" T$ j9 S; d0 S) g
  909. SKYFLY_STRING:9 w' a! T; c% W6 i
  910. .BYTE $9D,$95,$A3,$90,$96,$A3,$80
    / `+ I( r$ s7 j+ ^( _

  911. % V) P$ Z5 J2 c" g4 o& u7 J
  912. SKYFLY_WRITE:  [9 y" j) X$ w3 t' y9 j6 L5 I
  913. LDX #$00* T, a% h1 R, [2 w1 p  x+ [
  914. SKYFLY:
    + _2 i) u( N( S: F
  915. JSR PPUADDR_PROCESS7 w6 T  E' x$ G, K/ z3 G
  916. LDA SKYFLY_STRING,X
    & X2 i; Q# H: _
  917. STA $2007, S4 w1 m+ P' n' q
  918. LDA #$00
    ) P' a# y2 \' E
  919. STA $20005 ~. C- e5 I. e8 k
  920. INC $BA* I0 N3 @& j5 ^7 k4 s4 L
  921. INX
    7 F1 b! v) f+ X/ A, y
  922. CPX #$07
    " r7 R9 m0 w2 n
  923. BCC SKYFLY$ t, S/ ~' B5 B2 |% n* Z. ^7 k1 n
  924. RTS" ~) m/ v( w. g0 ]" {1 v# s, [9 V

  925. 1 d4 g) u, K: F7 N5 b1 a
  926. SKYFLY_PPU:
    , _) v: G, R8 D0 O3 e' C3 r( \0 ]# W
  927. LDX #$00
    5 v. d2 w6 `1 [# B! W
  928. LDA #$A29 M9 X+ U0 {/ o
  929. STA $BA
      l! \- t$ Y% c
  930. LDA #$22
    - ^1 m  t3 T0 O
  931. STA $BB
    $ i% w" }$ ]2 P! w4 v8 e7 L- n- G% e

  932. / ?( I# H+ y8 p9 ]3 H* e" v
  933. 7 ]- @8 w2 b. ^8 P
  934. JSR A_PPU9 c* g. q  O  M$ _5 `' u7 S
  935. JSR SKYFLY_WRITE: H0 G, w1 [4 d. Q, |& x# i
  936. LDX #$00, B& h' j- _+ T; R
  937. LDA $07A09 M5 a6 p' m  e8 o  ]
  938. AND #$20  |  t, K' F+ c1 A0 N% [3 l
  939. JSR ON_OFF_PPU
    9 s% g7 `4 z7 A; T1 ~( Y
  940. LDX #$00
    1 ~* i* D# @9 f% W6 Y
  941. LDA #$B1- b6 d( Q# q% V( f* C
  942. STA $BA* v( {6 @4 o; {# z6 D5 ]8 v
  943. LDA #$228 r& J% d% t! X
  944. STA $BB: Y& n3 D; |) s# g. v. v
  945. # Q, ~% T$ _6 L( N) E8 A- j8 W8 y+ b
  946. & [; }! z2 R+ l* ]/ N9 {2 Q
  947. JSR A_PPU) |3 y0 C2 G, B2 a2 J
  948. JSR SKYFLY_WRITE8 L6 K9 J; }, g4 ?- V& @) w- ]
  949. LDX #$00* d, H* T$ G5 B/ S
  950. LDA $07A1
    $ L& n2 Y3 ~; a; d' P& W
  951. AND #$20
    . [' @, T$ z. c( A
  952. JSR ON_OFF_PPU* h7 f4 m0 z5 X, P- a/ u
  953. RTS9 `4 Q, h/ |2 n) |

  954. ( k' [+ p' X/ V$ [
  955. BULADD_STRING:4 q8 `/ B2 X6 a6 b9 I% [8 s4 H: e
  956. .BYTE $8C,$9F,$96,$8B,$8E,$8E,$80  n: R$ e8 ^* U1 G# E
  957. . {6 @5 `( b, ?
  958. BULADD_WRITE:2 K, G3 w  w" `9 Y! B7 _( i
  959. LDX #$00
    $ [7 m1 T& ~  ^6 `$ m1 o
  960. BULADD:  ]! `) f+ k: l1 O4 e( i0 a; f
  961. JSR PPUADDR_PROCESS) c) ^; {$ r6 `- }) ]
  962. LDA BULADD_STRING,X" A' A+ z( m8 M( C( w4 D
  963. STA $2007
    3 u" D- j4 m  ^2 V: h& W9 ?2 x& ~
  964. LDA #$003 V. u# R; D( \) t* {, @
  965. STA $2000/ z9 |( ~0 |# M- V: w- ~. f' o, |: ?
  966. INC $BA
    : f& Q- }1 z7 \, D& D; h5 \
  967. INX. j3 Q5 y# h6 K3 `5 ~
  968. CPX #$078 W  K# B, ]; X3 o& R
  969. BCC BULADD& O5 [$ |1 u  Y9 [* B" D
  970. RTS
    & f7 Z$ c# J/ g' U' `

  971. / h/ B% W2 G: X  g1 ^/ N% \
  972. BULADD_PPU:
    ' F" l7 W2 H+ i. K  E6 |1 ?! F2 B
  973. LDX #$00
    4 w  Y( D  Y" ?8 ^6 o2 p
  974. LDA #$62
    2 [: v+ {% d3 g' r4 H
  975. STA $BA
    9 e5 L6 _9 l- s' A% F4 r
  976. LDA #$21. t8 n% \3 N" `; _5 }) j  h& n7 c: R
  977. STA $BB
    + `. X3 f. @) S* g
  978. ; j/ R  E1 B( c/ ?- r0 a; J

  979. " Q! f! T- ]8 T& E$ L. b0 Y, z8 h5 b
  980. JSR UP_PPU% o2 C. U+ }' s; m
  981. JSR BULADD_WRITE9 k- e( n& \+ O- T8 w4 u/ S
  982. LDX #$00
    " j* f- C1 Z7 X4 R& l+ ]$ _
  983. LDA $07A2
    7 L3 H" a# h) I& G9 I( o1 k
  984. AND #$017 u  `& l! ^1 K/ Y& ^5 [, N
  985. JSR ON_OFF_PPU* h1 {5 L* v2 S; k
  986. LDX #$00
    # `. A" I: ^( R: E7 E
  987. LDA #$71
    * F) d$ Y+ k/ K* e7 K
  988. STA $BA
    ! ?. U$ E9 y3 f0 j
  989. LDA #$21
    7 v, m  u9 o, _( q  {
  990. STA $BB
    ( g- U% i9 ]1 j2 S

  991. 1 ?& W" S: ]% S0 g8 x( u$ b
  992. # P3 Z& ~3 I9 h7 b! H6 F( V
  993. JSR UP_PPU
    2 I9 |: v1 p3 R  k/ ?
  994. JSR BULADD_WRITE# v  ^3 O, x, w+ L, j" w
  995. LDX #$00
    ( a1 Y0 U; d& B3 R( y5 H
  996. LDA $07A33 f6 b0 J7 d& L  c; s
  997. AND #$017 f( O6 O- D2 ]0 F
  998. JSR ON_OFF_PPU
    3 \; v4 P5 }! u5 F% z
  999. RTS( Z' u: B% L4 M, N1 `1 y0 I
  1000. 6 p5 A! e+ ~$ g4 h. p
  1001. MENU_PAGE_STRING:' k: {4 {( {. w! k- n% l/ X
  1002. .BYTE $97,$8F,$98,$9F,$80,$9A,$8B,$91,$8F,$80,$81
    6 r4 C- m/ F0 N

  1003. ' L, Z$ w$ y8 T, x7 ?: }
  1004. PAGE_PPU:
    * R& [/ e. o7 o, c6 `- s4 M
  1005. LDX #$00% i& k( ]7 W7 I7 y9 G+ X; `
  1006. LDA #$0A! t6 _: V0 D$ V9 |) b* ]
  1007. STA $BA
    + J2 J5 }5 m) v; z( _
  1008. LDA #$23) F9 u- `% d% ^2 Z
  1009. STA $BB
    7 j4 @9 W+ g) r1 R2 Z% i7 x
  1010.   i6 F: e# h% Z, h* O8 ^% C

  1011. 3 w' Z$ V# ?) b/ P+ T
  1012. MENU_PAGE:2 I. R2 e5 ?0 r9 A+ D
  1013. JSR PPUADDR_PROCESS
    2 v* v' E+ n; j, w9 g  p
  1014. LDA MENU_PAGE_STRING,X3 r" N3 |: k" n
  1015. STA $2007" a) |9 s9 b- K1 R% n$ J  Q
  1016. LDA #$000 R; z3 K; l  K5 @1 f% a, F0 |0 C0 N
  1017. STA $20009 v+ `8 y% j& z1 ^7 L0 a( G- q9 M8 R
  1018. INC $BA, Z" j# q3 l8 B, A4 l
  1019. INX$ N$ B7 @! C. D4 p7 C& e1 P
  1020. CPX #$0B
    + M0 g6 U% W6 L3 M5 `: l
  1021. BCC MENU_PAGE
      o8 _" Y# K: N% B% f
  1022. LDA $07AA
    % o2 R# V  l/ J) Z
  1023. CLC0 Z: i! z2 [: N) X6 D/ K2 |
  1024. ADC #$82, W' m0 Q* }& Q, ]- {2 K5 w
  1025. STA $2007
    ! q5 q1 w' I- i; v# e# _. ?
  1026. LDA #$00
    6 c& K; h- g: [- u  T  V7 p
  1027. STA $2000
    - \9 b2 [6 z9 f- P. D$ B
  1028. RTS
    , U9 t0 A! a& E; S

  1029. ( g. q+ M6 d# q9 H% ?& D/ {4 O
  1030. $ q" e) [& r$ }7 h$ _
  1031. SKINGE_STRING:
    8 J  l' v5 z4 h. _) W' L6 r% o
  1032. .BYTE $9D,$95,$93,$98,$91,$8F,$808 s$ g8 w. D: s" ^% S; t5 ~. ^
  1033. 7 ]2 ?: Q2 G$ r9 g
  1034. SKINGE_WRITE:
    - l6 M( _) ?' W& A. M
  1035. LDX #$00
    ) \* U. t9 j4 t& B3 G: a1 A
  1036. SKINGE:% m! W9 P# C0 {5 K. C& g. p  y
  1037. JSR PPUADDR_PROCESS3 O8 f# o  f8 ?# s  i6 M
  1038. LDA SKINGE_STRING,X! f% j/ q9 S# b1 G* |
  1039. STA $2007. K9 q1 l4 q) z' R* ~
  1040. LDA #$001 f) x* \  v4 E& p  Y. j
  1041. STA $2000
    7 z( }5 c9 ~  C) }; o
  1042. INC $BA
    * y4 F  x* g. ^
  1043. INX' q2 s+ B3 J4 u5 C
  1044. CPX #$07" o; }) E# m8 J0 I
  1045. BCC SKINGE
    & H" p+ d, P) W  u, b
  1046. RTS/ x, i5 }3 M. r, r% o4 v# Y
  1047. ) r) B6 G, q2 Z- O( [, c
  1048. SKINGE_PPU:
    / a9 }1 S5 d  N
  1049. LDX #$00
    % [) m) V. w; e0 g2 R7 v" x
  1050. LDA #$A2, V2 y6 L8 A- F" Y6 _/ s& @8 X8 K
  1051. STA $BA4 a& A2 {: h; Z1 J* e  ~
  1052. LDA #$21
    . F$ A" |3 D/ P# q  [; D% @# `; e
  1053. STA $BB. V* k/ o* {' c/ y' I$ ]8 @$ U
  1054. 4 j+ a) q9 q) Y0 @8 m/ I# ?
  1055. 1 t/ x: I4 `1 t! W0 D. J
  1056. JSR DN_PPU
    5 z1 E& g" ^9 K6 C. Z7 q1 y
  1057. JSR SKINGE_WRITE. N  j* {' Q' N7 l
  1058. LDX #$00: ~  C2 K7 N0 n/ Q, z8 C
  1059. LDA $07A2
    : M1 v2 r9 p; X  a
  1060. AND #$02$ P, D( J( V% o! y# t0 v
  1061. JSR ON_OFF_PPU3 {" @% v2 [% L3 J
  1062. LDX #$009 o% F- R, _% G- _2 F$ s) D0 v/ s' H
  1063. LDA #$B18 \5 D* t2 m* I$ a0 z6 f1 @
  1064. STA $BA6 |( V0 u1 X7 {5 y' x# V: P: }
  1065. LDA #$21/ a4 ^# [1 z! c
  1066. STA $BB8 O# g0 G2 ?. o$ }* Z( G9 f  M

  1067. 4 [3 ]) ]# z/ o4 r# W
  1068. ' j! g( A2 F3 O2 q6 K
  1069. JSR DN_PPU; X/ u, I6 K$ U' A
  1070. JSR SKINGE_WRITE; ?$ p9 @, L# m5 _+ W5 S8 r+ O
  1071. LDX #$00. R4 f* e! i% Q
  1072. LDA $07A3
    6 C) d& [$ ]% [2 ^" U
  1073. AND #$02& Y6 u0 }* G  K$ {1 z
  1074. JSR ON_OFF_PPU) {6 x2 {( s/ `
  1075. RTS
    6 }4 @- P6 B7 O- a' ?

  1076. - E' ?7 i+ J1 E  h
  1077. BULMIX_STRING:  ]) F8 g( w& i2 W2 \8 ]; K9 q8 b
  1078. .BYTE $8C,$9F,$96,$97,$93,$A2,$809 y' @% \' I: e+ j" [$ o: d

  1079.   E6 e. E" i# C; Z" g
  1080. BULMIX_WRITE:
    ' y( a& h3 M" L% e/ `: x# b$ Z
  1081. LDX #$006 B' V  M) A) h, w: W4 F
  1082. BULMIX:6 b# g4 x/ T% H: [6 p- \
  1083. JSR PPUADDR_PROCESS
    3 L4 u+ X0 V0 |3 N. Q7 [* M
  1084. LDA BULMIX_STRING,X
    3 D5 }2 i- R# {' K+ V. d
  1085. STA $2007& R* W& e7 b: j: ]- o
  1086. LDA #$00* N1 |- n" _$ I
  1087. STA $2000
    * |% I3 R; M0 p% d+ ?. Z9 Y' G* E
  1088. INC $BA
    ; F& v! V6 q5 s( @- c/ S' Q0 ^+ j! @& j
  1089. INX! N3 e$ C$ ]5 i5 T" M! s
  1090. CPX #$07% g- ?, |( w4 x/ T4 d
  1091. BCC BULMIX
    ! I3 Y# L9 Q3 X% N$ h5 k: i% q0 _
  1092. RTS+ X- n# i% k% y: z1 h( C  }

  1093. 9 G7 Y  O  f1 Z7 ]' Q* |: w, x
  1094. BULMIX_PPU:8 p, C3 _3 R. E0 ]7 E
  1095. LDX #$00% J* E: e7 c6 I7 [' H
  1096. LDA #$E2. G! \8 H+ h, ?% l: n
  1097. STA $BA
    5 t+ |8 ?6 w7 Z2 v7 U: C
  1098. LDA #$21
    7 R5 q7 }$ `# `( I+ N# [
  1099. STA $BB
    2 K) W" }6 O4 ?, A0 ?5 y' P* z/ p% h# z2 y
  1100. ) U2 C$ }3 D* Y
  1101. " A8 S# x3 q3 w# O
  1102. JSR LF_PPU
    # X0 s* p) l) M  a+ Y
  1103. JSR BULMIX_WRITE3 {3 `2 U) m% z/ D
  1104. LDX #$00
    ) R( M6 i, P$ d! P3 L) z: b
  1105. LDA $07A2
    5 Z$ B0 e$ {# E( d
  1106. AND #$04' e6 e4 ^  L6 `4 B) `9 k
  1107. JSR ON_OFF_PPU: y# O+ N5 V3 P& g8 P
  1108. LDX #$00
    : e- E8 l) `. f% w# }
  1109. LDA #$F1
    ( J9 R" j6 z) o( k
  1110. STA $BA+ s( x2 [% w% Z1 Q3 e0 N
  1111. LDA #$21; X9 x* C! J( |) E2 q6 [- u
  1112. STA $BB
    % T' M0 v6 U7 k
  1113. 8 ?8 x! E. [9 }

  1114. 8 F- H6 a/ d7 H3 ?
  1115. JSR LF_PPU5 R1 E" s  n. r/ w  }
  1116. JSR BULMIX_WRITE  C) z  J1 u* Q) c
  1117. LDX #$00
    " a, @  F' z; C7 _. e5 l" w
  1118. LDA $07A3
    1 ~0 T2 ]! ^( s- U/ y# e3 U& p
  1119. AND #$04
    " L' i8 i5 D. R. _6 n  W
  1120. JSR ON_OFF_PPU
      }: I0 g; J: |, b. w/ n
  1121. RTS
    4 b: P% B* g8 U  E+ g. f3 f

  1122. 0 {5 w8 N) I; v; e9 n/ U' n( e
  1123. ENELOC_STRING:+ l8 m* y. i' m  r) N4 p# ?- G. J; a
  1124. .BYTE $8F,$98,$8F,$96,$99,$8D,$80
    # K+ ]# V9 N( a; h- C5 p$ G! z. r

  1125. $ s0 K+ H( Q- E! g# F) n) e
  1126. ENELOC_WRITE:: Y" D" ?# n4 F# y% E2 a, {( o
  1127. LDX #$00' |& y; B/ _: @6 e
  1128. ENELOC:
    - F! a! J: _2 z( b% r
  1129. JSR PPUADDR_PROCESS
    7 q& O: h( m1 s
  1130. LDA ENELOC_STRING,X
    ( M# o2 C4 t* J) r# v  b
  1131. STA $20073 `) I" z7 j" \9 H. g) Q
  1132. LDA #$00- C/ ?0 O7 |9 _  j, z* U
  1133. STA $2000
    . X  v/ V- ]+ e( a* B. _
  1134. INC $BA$ Z5 _; \: ^+ Q" r% p6 f/ X
  1135. INX9 o7 _# H" F/ z: b2 l
  1136. CPX #$07; j! ?9 F$ X; N/ E, `2 F. n" m) q
  1137. BCC ENELOC! D; O/ @0 X4 w" z+ O
  1138. RTS1 a, Y- @; H# E8 x. C+ I8 y4 E
  1139. ( d9 J$ a( \$ {' G
  1140. ENELOC_PPU:
    / m9 E5 g) }8 |6 D$ [4 L7 Q
  1141. LDX #$00- y% D1 [1 b) `* E
  1142. LDA #$22
    9 Y7 j% Z( {( m8 w- e& N
  1143. STA $BA! o% a+ |/ ~2 K6 d% Z4 ?
  1144. LDA #$22
    ) M+ |! H$ b7 R" l) J# l9 T1 x
  1145. STA $BB
    2 w9 n* u" t: b4 \$ }

  1146. 6 n+ Q0 L, n5 S6 r. Z

  1147. ' j4 \7 [$ C; l  U9 j, F# r3 _
  1148. JSR RG_PPU
    ( Y& j. K5 ]% b/ x
  1149. JSR ENELOC_WRITE
    : b' g' n- b. g, T7 P
  1150. LDX #$00: S, Y( {6 S) G3 w. {9 C
  1151. LDA $07A2: r- v: B8 q9 Q- t
  1152. AND #$08
    / L4 K0 p7 S1 w' F: u5 ?
  1153. JSR ON_OFF_PPU
    ! J7 \: k! l" R( J
  1154. LDX #$00
    ; L5 a# W9 [) N$ p/ O0 G, C7 f( x* A
  1155. LDA #$31
    6 d/ @# N2 B( H5 G2 B
  1156. STA $BA$ Y% z2 k7 e5 M6 d+ w# t$ o
  1157. LDA #$226 X4 W* P/ e1 W4 t
  1158. STA $BB
      u% Y1 y- z$ g

  1159. 0 E) ?$ Y; _" i& y  U  }2 {5 x

  1160. 2 I6 }. T; ~8 G+ H* W
  1161. JSR RG_PPU6 P' w/ h* C* B: ~: i+ ~
  1162. JSR ENELOC_WRITE
    & g4 K# {& g* D  [# I, d! Z
  1163. LDX #$004 K1 a! [' N( k9 y/ Q- w
  1164. LDA $07A3
    6 A' E) O! L' E# Q
  1165. AND #$089 a2 P1 N, l. \/ F0 Q
  1166. JSR ON_OFF_PPU6 j5 k8 H. p. J; ~
  1167. RTS
    * U! k9 F% _3 U0 e$ P) o

  1168.   S( T  D% U" S
  1169. FOCFUL_STRING:- A  D8 [1 S7 _
  1170. .BYTE $90,$99,$8D,$90,$9F,$96,$80
    $ U, }( L# A1 _& X

  1171. # y' ?+ u" r0 J' c4 Z  f1 F) Q# |( ?
  1172. 4 _3 R. U& Q1 @( l0 y. r8 m
  1173. FOCFUL_WRITE:
    & l' g2 S3 C6 r1 ]# u: p
  1174. LDX #$00
    / \- K* ^1 ]4 ^8 }# D0 G
  1175. FOCFUL:
    / m* L7 C+ b) h9 H) s0 n4 J/ i/ d
  1176. JSR PPUADDR_PROCESS
    ; [4 J: L- H% G
  1177. LDA FOCFUL_STRING,X
    9 N/ ~+ |$ \% t" V
  1178. STA $20078 \# j* A. p  s+ y4 K/ T
  1179. LDA #$00
    ! y. m& x  u0 \5 i3 A  j
  1180. STA $2000
    2 E/ e) Q9 L' c/ R) x$ X3 D4 t8 s
  1181. INC $BA
      {6 h6 Z! |0 D/ d/ ^; h1 c
  1182. INX+ d1 ^9 L! G, {- h  E( L; j  i  D6 |
  1183. CPX #$075 z3 ^0 t2 d6 Y* J0 A8 U* j0 g, ^
  1184. BCC FOCFUL' ^. O) z1 P. X
  1185. RTS, J8 P) _4 D, Q
  1186. 9 D5 Z% @) S" f8 ?' N# Y
  1187. FOCFUL_PPU:# c8 R0 k1 M7 \
  1188. LDX #$00
    ; Y" t6 _8 L( {$ s, {
  1189. LDA #$62
    8 T+ S5 }* y- W
  1190. STA $BA: h3 `+ }8 x0 R; H. g) E  V
  1191. LDA #$22
    1 n. x1 `% H* C3 F6 ^+ t% p
  1192. STA $BB
    ; X% N- y3 w, U8 _1 Z
  1193. . @" g6 `6 [4 C
  1194. " }5 w# ]2 O& x$ @4 g, P2 x
  1195. JSR B_PPU
    ! z; [7 H' h, \+ V; M! h
  1196. JSR FOCFUL_WRITE' n4 j! L% `( o* I
  1197. LDX #$00
    . z) ^$ W0 \3 ~, A2 \4 c4 O- f
  1198. LDA $07A2
    # W9 C: q* c% E5 i- a) q; K
  1199. AND #$10, N2 y3 L5 W- n- I+ R- x
  1200. JSR ON_OFF_PPU
    $ `" q/ C9 p1 }& V* q/ P+ X; D& a
  1201. LDX #$00
    ( h' U5 t& ?5 g. L' _! e, t
  1202. LDA #$710 V, `7 w/ S  t$ `
  1203. STA $BA
    ) Z% e% W( f/ R
  1204. LDA #$22$ R6 N% F  ]$ @$ s4 M6 @4 L  C6 f
  1205. STA $BB
    1 j- D4 B/ q4 u" e7 w: C
  1206. + d- C4 ~6 T" U8 ]: Y
  1207. . D$ H2 I4 L2 @( h
  1208. JSR B_PPU
    4 F4 K+ Q- @- B0 }! D& K" n
  1209. JSR FOCFUL_WRITE
    . Y, A, |) n" v: Z3 B
  1210. LDX #$00
    3 q! p* ~6 Z4 \  {
  1211. LDA $07A32 o! q' a8 x9 n5 R# g
  1212. AND #$106 p! W) v# G- q$ p) u5 ]! E1 g  X
  1213. JSR ON_OFF_PPU
    : N: z. ?; l$ a  z$ d& B
  1214. RTS" |5 r/ Q" ^# @4 O/ F
  1215. 6 ]" m  ^. f9 B3 X$ p3 U. I
  1216. BULCON_STRING:
    : V3 b, k, }3 C- D
  1217. .BYTE $8C,$9F,$96,$8D,$99,$98,$80# `7 T* O; W  |  ^+ B. W
  1218. ; W1 a" ^7 i5 y% e7 E% X  r

  1219. ( l* k/ L. {" h# i) b: w* j
  1220. BULCON_WRITE:
    ! d, H; J( ~/ z; r. B
  1221. LDX #$000 K: H" R) ~" x! J
  1222. BULCON:
    ' W$ w8 j( a8 B; c- f! `- e# U
  1223. JSR PPUADDR_PROCESS
    % A; A; C3 [# {0 m( T# y9 K' [
  1224. LDA BULCON_STRING,X( E, z2 L' S( n  n# K) ]' V
  1225. STA $2007% V/ K2 u! O2 x, M& u6 Z, u
  1226. LDA #$00& P3 I/ \* o9 o' Q5 Z0 E
  1227. STA $2000
    : @! X* G* {7 |9 j& l
  1228. INC $BA7 {5 u& s6 {6 D, P
  1229. INX
    ( t  X. z6 A4 [  h% B8 o
  1230. CPX #$07/ o( @$ s% z& j' H# z2 Y+ r
  1231. BCC BULCON" X/ ^" ]8 g2 p
  1232. RTS
    # v. e2 O6 `$ J; v5 L0 M

  1233. 7 P1 S  G# s: a- E
  1234. BULCON_PPU:  @# A: h5 h) T' M
  1235. LDX #$00. O) v/ {  \) ]
  1236. LDA #$62$ [  B0 o: U  D
  1237. STA $BA
    7 z9 J0 w9 j9 z% b: A  e
  1238. LDA #$21
    2 A( j4 G: X! q- K! E
  1239. STA $BB( v" _& V2 h" ?& y( _

  1240. & z7 |2 J: B; [& a: e$ L8 r7 x" N

  1241. * p' Y; O$ C4 B4 E! ]
  1242. JSR UP_PPU( e& q! c% h2 e5 L6 G7 g5 c) I
  1243. JSR BULCON_WRITE
    * H" ~- [" @1 j, _( g% }
  1244. LDX #$00
    / ?+ {0 M2 L( |% q% {; l
  1245. LDA $07A4
    & D$ R# C8 F! s- Q0 j5 E$ K$ ^
  1246. AND #$08
    " S0 H1 r7 H" U! r
  1247. JSR ON_OFF_PPU
    5 g2 b) f4 S* v2 [4 N+ t
  1248. LDX #$001 i! E3 s3 A1 ^9 k; G, W. i
  1249. LDA #$714 Q1 z# [6 ]$ N0 G: o* a9 C" X
  1250. STA $BA6 ~* Y& ^$ f( _$ T+ Y8 g% O
  1251. LDA #$21% w' j8 R2 R8 P  @2 i
  1252. STA $BB4 f! z' F$ X. {7 X

  1253. $ w% A/ \! J: c) T* R1 H

  1254. ) i8 e  V# W) w
  1255. JSR UP_PPU0 C4 a7 L0 X6 n* x" v4 g
  1256. JSR BULCON_WRITE
    2 D5 d! E1 ]/ D' R# @
  1257. LDX #$00
    4 ?' Y) `4 O" X8 [; y0 Z
  1258. LDA $07A5
    : K1 l  l" I/ m+ Q3 Z2 q2 W
  1259. AND #$08- M$ g; ?9 b& m
  1260. JSR ON_OFF_PPU
    / s( U6 K4 Y; `% g) C6 ?
  1261. RTS
    , \' P5 [+ h( T9 E, m

  1262. + Q, M* u  j8 Z3 n
  1263. SPEBUL_STRING:
    * v3 ]5 Q- d9 s4 g6 A" K
  1264. .BYTE $9D,$9A,$8F,$8C,$9F,$96,$805 T+ i" @9 a: D& k8 {$ t
  1265. + Q0 i2 T2 X* G0 U( \
  1266. : n; T5 O( F1 R2 k2 o
  1267. SPEBUL_WRITE:
    ! [: H2 V- a) Z: U2 t
  1268. LDX #$00. S" f, g% i- O1 f4 Y
  1269. SPEBUL:2 g% i, y, d5 s/ L' x7 L
  1270. JSR PPUADDR_PROCESS
    ; I+ {" ?; H+ Q$ o" a1 F2 s
  1271. LDA SPEBUL_STRING,X0 B/ n) V1 c( v- Y7 U/ |; ^) ^2 X
  1272. STA $2007
    6 |' j8 y* U6 E
  1273. LDA #$00
    % y. z) q# d* K4 Z* |' B: n
  1274. STA $2000$ _& c* C" t; S
  1275. INC $BA) n0 K* X/ {0 Z
  1276. INX; z. P- r  e0 A9 }1 I  ]
  1277. CPX #$07
    ) j5 n+ A/ P- }& O' |
  1278. BCC SPEBUL
    ' U' @, q" f7 `* o2 k1 ?
  1279. RTS
    0 r# L  }* ^  W5 a- B- `8 d
  1280. / A# i, V5 a6 `1 ^4 R
  1281. SPEBUL_PPU:3 F7 r' z+ _, G# d2 y, O
  1282. LDX #$00# y, L: ]# H' }
  1283. LDA #$A27 r8 o3 r( V$ p
  1284. STA $BA3 L) V1 Z( y0 p1 e. H4 Y6 k
  1285. LDA #$21
    1 W; z! R6 n) q, N
  1286. STA $BB
    / P& @7 n! u& ]
  1287. ' h& T% b' d  p- R) H) n5 v9 s

  1288. " I: l, E, d6 s( I
  1289. JSR DN_PPU
    % w  j& S# X, g
  1290. JSR SPEBUL_WRITE
    0 k- M, P9 P" V/ e/ q" C" _
  1291. LDX #$00
    * I) B0 _9 ?" X/ r$ A& l
  1292. LDA $07A4
    ( @; E7 D( |4 ~8 K+ g
  1293. AND #$02
    - V" D* t' M5 a% n. V7 c' M
  1294. JSR ON_OFF_PPU, f7 b+ d8 D' i
  1295. LDX #$00: k- M( u4 ]$ W$ S+ [1 G
  1296. LDA #$B1
    & ~4 ^! m$ T9 E5 H
  1297. STA $BA
    + A% f: c; z$ |: ?% I) h3 x7 k( l4 K. q
  1298. LDA #$21# d- B7 }; f9 U$ U" X
  1299. STA $BB
    * [. {1 X, y( |+ g1 o& q2 D

  1300. 0 x7 j0 r# E% P- U2 N. \
  1301. ! R: C; T! X! k8 N
  1302. JSR DN_PPU# S& \, J% k' P4 Y/ C& S( |! Q
  1303. JSR SPEBUL_WRITE
    ! d. B9 ^: y: A4 @5 j( g
  1304. LDX #$00
    5 |: ^1 x0 |: U3 m' K) ]8 k$ y; t
  1305. LDA $07A5
    2 u8 n1 f; D- k1 T6 m8 F
  1306. AND #$02
    ) a% N" j" r% o5 U: R
  1307. JSR ON_OFF_PPU
    3 e/ J7 s) A/ U3 Z" J
  1308. RTS
    ! s) @" s2 A' R# n7 g! [- e
  1309. - K" f: I% ?% j
  1310. .ORG $A500; Y+ `3 J0 f9 \8 i: D/ N8 i# p
  1311. CLEALL_STRING:
    7 c$ e- Z- q2 B! ]" T: L1 d0 k
  1312. .BYTE $8D,$96,$8F,$8B,$96,$96,$80- N+ B! H% X" w/ t+ n9 M) _
  1313. 8 S8 j6 R9 _+ _
  1314. 7 x9 F: k8 G8 |9 z
  1315. CLEALL_WRITE:
    8 g5 r; ~3 b/ ^% O
  1316. LDX #$001 q4 X& j" v& F) B9 v
  1317. CLEALL:
    8 s* [2 W" h, U7 O
  1318. JSR PPUADDR_PROCESS, p0 {. z- m; D* J0 t" p$ Y" S& Z
  1319. LDA CLEALL_STRING,X
    3 I" a: w% c( w' |5 c
  1320. STA $2007
    & G/ H+ R  k# Q8 p" k) t. K" [
  1321. LDA #$00
    + T* `7 |6 L+ Z7 C3 u& O1 [
  1322. STA $20000 t; ]1 U8 @2 O1 S( n
  1323. INC $BA; {9 Z4 k7 R+ R# I
  1324. INX
    * N2 {+ N. q+ R1 Z! `
  1325. CPX #$073 t1 O$ _% T* v$ m3 [% J
  1326. BCC CLEALL% s+ d  v: p# v0 _+ B) s1 f, O% j: l
  1327. RTS  {2 Y" A- G0 x6 p

  1328. ; b5 \$ i% L- `5 U) G0 G6 r) l( v
  1329. CLEALL_PPU:
    $ G' i; f# b$ E7 o# ~% G
  1330. LDX #$00
    " v" d. [. Q' Q# ~) C
  1331. LDA #$E2, z+ s0 x6 v- t8 R5 `0 Z0 K# @
  1332. STA $BA
    + K/ ^1 @  Q' B" `
  1333. LDA #$21" N4 E9 s* u; ?
  1334. STA $BB( f! Z9 O6 [6 G; A0 ?% r! a

  1335. : W1 z! e2 D9 J

  1336. & c- O4 X" V% k
  1337. JSR LF_PPU0 W: q' C5 d- D0 S  y
  1338. JSR CLEALL_WRITE
    - C' c% t% I6 n# f
  1339. LDX #$00! n! u3 c! {( N) s
  1340. LDA $07A45 h# |. F2 a9 q  X# w
  1341. AND #$04% U/ P$ m6 ]. p0 F8 x
  1342. JSR ON_OFF_PPU1 j5 `8 B; C9 ~: O0 x7 d
  1343. LDX #$00+ ~" G1 k% r8 a9 ^; o  u5 |' a6 k
  1344. LDA #$F1
    1 M$ l  q2 ^2 T1 G' h8 S
  1345. STA $BA
    # H# ~$ A' X. X
  1346. LDA #$21
      K" Z( S2 t" R$ n1 n" Y
  1347. STA $BB; U9 h' X' \% I- |

  1348. : F4 u+ t7 P0 U9 J8 |
  1349. & v" P- W- ]6 t7 x5 s- s- ~
  1350. JSR LF_PPU8 q* [1 r9 v3 j4 S
  1351. JSR CLEALL_WRITE
    ) G) v0 r  @  U6 v8 p
  1352. LDX #$00' o3 a5 |$ s' i9 y3 H
  1353. LDA $07A5
    ( K9 }% a. F( L! Q8 V& }
  1354. AND #$04
    6 y* |) [5 M. J. c, L, s9 E( X
  1355. JSR ON_OFF_PPU
    % ^- ]: j3 D1 E6 m1 B5 J
  1356. RTS
    ) w4 U7 u% b4 Q; F$ Y

  1357. 3 t8 @7 V" U3 `# G
  1358. HARDMODE_STRING:; _# a: x6 Y+ [# }0 u) }  j7 e* X
  1359. .BYTE $92,$8B,$8E,$97,$99,$8E,$80
    , i- t0 v# A: T+ y
  1360. ; z! g- N. C) y2 |" K8 O

  1361. & c7 y! `# z! ^0 p; v  G3 C
  1362. HARDMODE_WRITE:
    5 z# k9 r- H7 C3 M
  1363. LDX #$00
    5 @' \$ A% ^5 ?& P' o
  1364. HARDMODE:0 q1 L' m/ {: q  k
  1365. JSR PPUADDR_PROCESS
    ) @$ G; t* x  h# C4 r
  1366. LDA HARDMODE_STRING,X
    ) _6 s- y' t/ h% f5 M  C
  1367. STA $2007
    3 i8 W3 I% U6 v+ V- m& S& B
  1368. LDA #$00
    1 K2 x, j. l/ U
  1369. STA $2000
    , k, y5 v2 R% o/ Q7 G# b
  1370. INC $BA
    0 }, {8 ?: q* w  S. ~7 o6 a% h
  1371. INX
    - a* D, X7 O, d, f% y% `4 W: Z0 L* n
  1372. CPX #$07& y3 N$ B+ g2 A# `' k
  1373. BCC HARDMODE
    # c' T! T; |/ m
  1374. RTS0 N0 ?: a2 ^- T2 t! V  u* n

  1375. 4 Q. r  @! e( ^- J/ }$ o
  1376. HARDMODE_PPU:# ~0 F' G4 T" W3 H; l
  1377. LDX #$002 C: o  U8 }5 _# \7 L! r
  1378. LDA #$22, z# }$ e( |  k* n# n6 J) X
  1379. STA $BA
    : l5 K; [+ C& L7 B7 N# V+ M
  1380. LDA #$22
    & K  C$ L' f% D
  1381. STA $BB
      S* x  k; b, _6 N( p* M9 f% O
  1382. JSR RG_PPU. O% B. k; q" L$ S- c) R2 c5 ~1 Y. M
  1383. JSR HARDMODE_WRITE. r1 b- M4 o: I, P6 l  x" n/ K; R4 @! u
  1384. LDX #$00
    5 W4 h% I1 e$ }4 V2 s8 B( ?
  1385. LDA $07A4$ E( y" O; ^$ ]8 Z
  1386. AND #$01) v% s( {8 o7 l% R2 |; \
  1387. JSR ON_OFF_PPU
    + t* A5 @& ]' N) u$ |6 M* K+ l# V
  1388. LDX #$003 }  P/ r" }2 }3 X6 P+ m' Q# \* w
  1389. LDA #$31' q( _, i6 Y! c
  1390. STA $BA$ V; Y& f/ N' j' ~& ^: E' P: j
  1391. LDA #$22
      m6 j+ Q" R+ G
  1392. STA $BB4 ~* `0 X4 L. y: ]- {; Z

  1393. 6 n5 x* z) U0 h2 Q. b; K
  1394. 3 k4 }% X- c! p5 G) \6 ?
  1395. JSR RG_PPU
      E0 q8 s/ z9 b' _) p/ z
  1396. JSR HARDMODE_WRITE- d  T5 @$ F/ e/ [. }& U
  1397. LDX #$00
    0 g& ]% w# T/ l  E& u: Z
  1398. LDA $07A5; z$ g$ a5 }4 A9 z+ H9 C9 D
  1399. AND #$01- p) t6 `) P3 F9 r' Z' Q1 S
  1400. JSR ON_OFF_PPU
    ; A& N9 t9 [! y+ Y# W. o) @
  1401. RTS
    8 Y6 n; e2 h) u$ b( d

  1402. 1 p- J4 C5 B8 Q- \  A: _
  1403. B_TO_JMPSTG_STRING:
    , o9 }9 T1 Z9 W3 n* B7 U
  1404. .BYTE $80,$8C,$80,$9E,$99,$80,$94,$97,$9A,$9D,$9E,$91,$80
    8 H5 t7 U; ~/ ]% k8 K: n
  1405. 1 b( Y. z5 g5 N
  1406. 9 }/ m. n9 B& W$ A3 H! V0 V& V% l, ]
  1407. B_TO_JMPSTG_WRITE:
    : b& {5 S; o. d/ y! m2 Y
  1408. LDX #$00
    3 n9 b2 \1 V0 D
  1409. B_TO_JMPSTG:
    # L2 G% k' [2 n2 c, A6 k5 `
  1410. JSR PPUADDR_PROCESS
    * r+ Z( s' s* i& i
  1411. LDA B_TO_JMPSTG_STRING,X9 `  a; F" n* w: Q
  1412. STA $2007
    6 K' d" B% U& Z  ]) |3 e
  1413. LDA #$00% |$ V# D3 `5 f1 O+ }' M3 j
  1414. STA $2000" F8 q* _5 F% t: N
  1415. INC $BA1 z3 y* n: l, M' L) M
  1416. INX
    + A8 S" Z; M, s
  1417. CPX #$0D/ z$ q; t( N4 S- o
  1418. BCC B_TO_JMPSTG  q! l8 @1 R/ U& F
  1419. LDX #$00
    : [9 [' t5 d& p# ?* u& j, E  e0 c
  1420. LDA $7FE00 \* h. z0 A# d* I* F+ B5 T5 I
  1421. JSR ON_OFF_PPU
    2 |/ w0 `6 x! _! d2 @
  1422. RTS
    2 ~1 J+ Z+ |/ F1 y  T
  1423. $ Z) e' P& g3 b
  1424. B_TO_JMPSTG_PPU:
    / t+ I9 _) X  j
  1425. LDX #$00. g' y9 B/ r1 f, }+ s
  1426. LDA #$689 z% t0 Z# W* v* K9 H* ]% Y
  1427. STA $BA
    ( J# e, M- j$ r# l' z  `
  1428. LDA #$227 Q, l9 e3 N3 n9 a( D
  1429. STA $BB
    5 n  W0 h3 L2 J3 V" o
  1430. JSR B_TO_JMPSTG_WRITE0 Z- c6 ?: V/ i9 `
  1431. RTS
    9 a0 E# R) Z6 _+ K* M

  1432. . n% M/ F6 _6 V8 y" C$ ]
  1433. : q) m0 j; a! q
  1434. A_TO_PLAMOD_STRING:
    , {5 a# O) B$ A! T' s1 R& g6 |
  1435. .BYTE $80,$8B,$80,$9E,$99,$80,$9A,$96,$8B,$97,$99,$8E,$80( w0 G& f5 {0 N+ }& B2 a
  1436. * ?: @6 H: M# i7 j/ u' y: r
  1437. ( `6 i4 T( ]# w: L+ ?4 ~' j  {
  1438. A_TO_PLAMOD_WRITE:, [4 V; ^. y7 S7 q- q
  1439. LDX #$00' Z4 N* x" j( ]' g0 A$ |/ O
  1440. A_TO_PLAMOD:; F0 l9 e9 c  T7 F0 f
  1441. JSR PPUADDR_PROCESS. z$ q2 e' O# T3 i
  1442. LDA A_TO_PLAMOD_STRING,X% F( Q- t0 h3 ^5 z, b. z
  1443. STA $2007
    % a* ~9 c8 ^# d# H4 H$ D6 q
  1444. LDA #$007 s+ @3 m8 K/ B: I
  1445. STA $20000 M& |0 t( x- v/ V# Q1 T6 g7 k1 i
  1446. INC $BA
    , Z2 v* r; c, j2 c1 X
  1447. INX
    & C) A( Q! v3 i/ E+ x' k
  1448. CPX #$0D
    5 _" D  |6 A9 L0 K2 `, {0 R
  1449. BCC A_TO_PLAMOD
    # b( G( Q' M- t  p# L# W4 c, J% F
  1450. LDX #$00" y; `- W& v' D: C7 [. a
  1451. LDA $39
    % i5 c5 c+ c+ `4 R* m7 i. b; @
  1452. JSR ONE_TWO_PPU
    2 C0 m' f% T5 X3 S" n) x
  1453. RTS+ H! z' M# n1 l; }& r5 ^1 U; _
  1454. . ^# k' x+ L( G
  1455. A_TO_PLAMOD_PPU:
    3 W& I* b1 y6 X" G
  1456. LDX #$00
    + l  G$ b: X  |' D
  1457. LDA #$A83 {$ Q7 Y, ~' q4 a
  1458. STA $BA3 }! ^, K- b3 n7 R; {
  1459. LDA #$22' E+ j9 G1 T* R; t9 y2 B( F
  1460. STA $BB+ a5 f* ]7 h2 e; b$ i
  1461. JSR A_TO_PLAMOD_WRITE
    ( L7 L/ }9 u. @+ p
  1462. RTS/ ?  ]4 q2 D  s' u7 i+ J9 l. g
  1463. : `1 ]: M/ z2 N% w6 h; [
  1464. MOVSPE_STRING:
    1 v  ]( h5 v% r+ s
  1465. .BYTE $97,$99,$A0,$9D,$9A,$8F,$802 ]  t! Y6 @$ a: Z" x

  1466. 5 a7 G* z6 W; \# W: Q

  1467. . B3 D. X; X1 ]3 p
  1468. MOVSPE_WRITE:
    6 V; n" v, F2 k; K/ T3 ?7 S4 m7 S( [
  1469. LDX #$00
    ! @' v1 t6 f* k- ?+ U
  1470. MOVSPE:
    6 B0 b& Q! L7 ?, H
  1471. JSR PPUADDR_PROCESS
    " B6 A4 q, Q. _& Q& f1 y" g
  1472. LDA MOVSPE_STRING,X
    * @0 a7 n( e0 Q0 ]
  1473. STA $2007
    ' z5 }  `! j, C9 }0 T. H$ a
  1474. LDA #$001 C4 c; f; K! l' x9 \, S6 @
  1475. STA $2000
    ) c; E: \3 O' _" v, s
  1476. INC $BA3 I5 D! T/ P: u2 Z; U9 U* J* \+ U
  1477. INX4 K6 p- q  I  \- H1 p* D7 T) |
  1478. CPX #$07
    " v/ q% t) {1 i9 S3 D
  1479. BCC MOVSPE
    0 ?6 J6 v( a; r8 s  u  C. v
  1480. RTS3 d: ]3 c# G+ E; w' Z- w, q& }7 b
  1481. 5 a6 k& p9 L; P- H* J
  1482. MOVSPE_PPU:, G8 o/ u2 w* z, M7 {
  1483. LDX #$00- Z" l$ B! C6 u! E% i
  1484. LDA #$69
    : c. _% s  W5 @* s  N) {
  1485. STA $BA
    1 e- b6 l) s' g( ?
  1486. LDA #$21$ _& `! K% z+ R; T% N
  1487. STA $BB9 d6 r+ U8 z$ [3 M7 Y5 k5 u; y
  1488. . Z6 K0 L# E4 X' }: C
  1489. ! G# H/ d4 z" |0 X* L
  1490. JSR UP_PPU
    . J$ v; r. z" K1 V+ |5 a
  1491. JSR MOVSPE_WRITE
    , q; [, W8 Q8 q
  1492. LDX #$009 W# d- h* O0 i1 ?0 ~
  1493. LDA $079F
    ( L9 V* X1 _- m; H( t$ w( \
  1494. AND #$08: b" C! \  U6 t- Q5 k7 g# O
  1495. JSR ON_OFF_PPU
    8 C6 V0 [/ C5 y5 Q8 p  w
  1496. LDA #$80* n3 h' y  p; W' _& o
  1497. STA $2007
    ( Q" U* z8 R9 F# a# y2 P
  1498. RTS
    1 @4 X8 u8 O4 l  G; c. F. J1 I

  1499. ' e6 g, f: g  C' D  n
  1500.   
    . h$ W$ s3 i( x3 {" _& V" z3 K
  1501. UNLJMP_STRING:
    9 \+ D$ n+ D" x. n( j, `
  1502. .BYTE $9F,$98,$96,$94,$97,$9A,$80! X2 U1 x% R  Q8 u. `

  1503. # j" q6 i( w8 r' E- e( \* |* y9 ~

  1504. : P3 o- L/ I+ j1 L- c
  1505. UNLJMP_WRITE:# G! }4 Y2 c7 v9 v' _3 w1 K" e
  1506. LDX #$00
    $ g- F* r! x3 v4 g. ^
  1507. UNLJMP:- q5 e( B' s/ F2 @  x+ |% e
  1508. JSR PPUADDR_PROCESS3 V& m# U- e9 ?" K% c( H( D
  1509. LDA UNLJMP_STRING,X
    ! T- S; _4 J( }, s
  1510. STA $2007& s+ n+ A5 }  L! Q4 e; z
  1511. LDA #$009 A- G8 A# s( H8 m% Y! ]
  1512. STA $2000! k  r1 {- P' k& y
  1513. INC $BA6 g! G% A: G5 x
  1514. INX7 D9 h. I, W3 ~7 H/ B
  1515. CPX #$075 j) D7 ^; z" V! e
  1516. BCC UNLJMP
    $ a4 F6 P/ Z2 u& k
  1517. RTS, ]4 u$ L( T4 {

  1518. 0 w9 Y' v/ Y! O( `
  1519. UNLJMP_PPU:
    # V6 O' t  Q  C1 ?/ f
  1520. LDX #$00
    ' V: P( H" w: U1 p" J' W
  1521. LDA #$A9
    3 w; W, x& r! Z$ k' ?" p2 K
  1522. STA $BA
    % z( c9 q6 L) ]( q  f  u
  1523. LDA #$219 V1 X' u; \0 q8 a
  1524. STA $BB
    ; I& W8 @. i0 t" \

  1525. , o' o4 D4 N0 z' X4 a% h
  1526. ' E: f6 }8 }- m5 W; r* e
  1527. JSR DN_PPU" `. x  `- V3 E+ m6 W. M9 W
  1528. JSR UNLJMP_WRITE+ }/ m/ }5 B* E7 E* u) |
  1529. LDX #$008 d. n' x( ]5 U: C4 Z8 K4 l1 m: Y
  1530. LDA $079F4 l+ m/ ^( t9 j% ^  K
  1531. AND #$04
    1 @4 J. s8 ]7 u
  1532. JSR ON_OFF_PPU
    & f5 Y3 L6 G4 C% b2 F2 y
  1533. RTS
    7 T: u0 k5 k% b" a2 O* [% E

  1534. ! i5 J4 T2 I, P- P, H; [" z% _

  1535. ' ~4 k5 Q" t3 V/ G# w
  1536. DESTRO_STRING:2 S& K* }0 \3 `5 A) N9 f
  1537. .BYTE $8E,$8F,$9D,$9E,$9C,$99,$805 S9 ?+ v1 Q! b" o- S
  1538. / }7 p) R$ J+ B/ t
  1539. 6 H  e; H; b; S# F3 O
  1540. DESTRO_WRITE:4 L1 e. `) J8 w
  1541. LDX #$00
    0 o2 v, I! ]0 y0 h6 b( \, {  k
  1542. DESTRO:/ g& `* ]* j$ ~2 c5 H/ O7 M' A
  1543. JSR PPUADDR_PROCESS
    ! j4 \/ x( B3 q$ Z- ?
  1544. LDA DESTRO_STRING,X
    ( S7 n/ X0 \) l8 b& m% C) n
  1545. STA $2007
    ! v" _9 j( P' {2 G9 A
  1546. LDA #$00
    + C5 h+ t( I7 n6 I8 V
  1547. STA $2000
    + E7 a# Z. P! R7 U& u$ Q
  1548. INC $BA! u9 j2 J4 O* ]. O, |
  1549. INX0 l5 B* k% j$ S" H
  1550. CPX #$07+ |; n( M8 O0 G. {- h
  1551. BCC DESTRO  x" s+ Q4 _( K- x
  1552. RTS
    4 X. e' u: T, X; w* t( s

  1553. : K) q6 R$ @  c# k; q+ o3 f: `7 l; \
  1554. DESTRO_PPU:/ J/ {: u  O: [- s" y
  1555. LDX #$002 d+ O/ w. z# t0 s7 t
  1556. LDA #$E9; \5 I* p6 {7 g: |7 d' M1 {
  1557. STA $BA" Z3 ]: Q  z% R' |3 w/ m
  1558. LDA #$21: y+ [) H/ h7 m. b3 P  D, g
  1559. STA $BB
    1 q2 v  e7 I8 m  f9 e1 l
  1560. . a: l7 A  m8 c7 Y0 J
  1561. : U! [' F: S3 d$ Q/ j! r- h5 e# y$ T. J
  1562. JSR B_PPU7 J1 G2 e5 o! ]) }3 G
  1563. JSR DESTRO_WRITE; n6 f; o- Q3 Y# ^
  1564. LDX #$001 {$ g4 K: U8 P8 y- w; m
  1565. LDA $079F
    8 B' b/ U6 u% Y: S- R0 J
  1566. AND #$40' V, n+ @. k# K6 @, P/ Z
  1567. JSR ON_OFF_PPU
    ! q- V; ]6 @6 k5 ?
  1568. RTS7 G  J" ~) j3 x

  1569. ' u3 o( F* r  [0 g, N& y! [

  1570. 9 k- q. j! R3 z, r5 p4 H- {1 p
  1571. EQUBUL_STRING:5 y1 i3 p1 }- k9 A- D  r
  1572. .BYTE $8F,$9B,$9F,$8C,$9F,$96,$80  d7 I% V; b+ p2 U( \  I, S
  1573. * x. a3 x) v7 ]' h. K0 [
  1574. & w1 b/ Q6 L; I
  1575. EQUBUL_WRITE:: x8 P. v# [7 [# _7 ]& Z# H
  1576. LDX #$00' M! G0 H: @# J: n+ ]" m
  1577. EQUBUL:
    # D3 c. y% o' I) k3 g7 e* |6 [
  1578. JSR PPUADDR_PROCESS$ p, f$ i( `) ]& c
  1579. LDA EQUBUL_STRING,X5 t% \$ D2 T- r) k3 J! {3 M! A
  1580. STA $2007, g* B* P- U6 s
  1581. LDA #$00; S& e! |/ m& g" F0 ^0 p& n
  1582. STA $2000  b9 E8 k& r) Y0 p( W+ Z4 Z
  1583. INC $BA
    " j* j/ y9 U; c7 R8 ]
  1584. INX9 k0 N' Q5 }% y7 B/ @
  1585. CPX #$07
    ! g, ^- I5 {2 d7 w% k: B7 A, ]! Q
  1586. BCC EQUBUL
    9 C$ [0 e: t# e3 B: K2 o
  1587. RTS; J5 {) \' k& T1 L
  1588. ; k/ V! ^& a0 ?( c* n4 [
  1589. EQUBUL_PPU:* g" f. Y/ ?6 o& w
  1590. LDX #$006 [3 f4 ?3 y5 b* T" z4 @
  1591. LDA #$299 D% c$ K2 z8 J1 M4 I
  1592. STA $BA
    ; S8 ]5 p2 F1 h7 s
  1593. LDA #$22' |- ^4 o$ W  N. b* f
  1594. STA $BB+ Q) y; ^: h. ^* m  B
  1595. * Z6 T3 _, c3 m
  1596. " }! x) H; `- x- m3 k& x
  1597. JSR A_PPU2 F* C, b1 ]0 x3 J9 ]; K
  1598. JSR EQUBUL_WRITE9 p. q9 a7 t$ t, q: C* s
  1599. LDX #$00
    ! G+ S: t4 X  m7 @# O
  1600. LDA $079F5 z0 T  M$ s- p( M1 z/ g* a0 j( h
  1601. AND #$802 R% U  v) S! _
  1602. JSR ON_OFF_PPU
    1 s+ n% x0 k2 J# H2 ]: F! u- L4 i/ D+ x
  1603. RTS2 Y+ n1 u, w7 B1 @2 c0 h
  1604. 8 q, Q. }( v- {; X
  1605. $ l; f9 b9 w8 g  p$ W, J9 |3 f1 q
  1606. 8 }7 ^/ U& r! [  b$ {6 P2 V( h
  1607. BULSEL_UP_STRING:
    1 M4 j- G: H, v; D" B: z
  1608. .BYTE $9F,$9A,$80,$9E,$99,$80,$9D,$9D,$80
    3 D+ ~% ~" V6 ?/ ]1 f. {+ |
  1609. . K* t, o$ \7 k  B
  1610. BULSEL_DN_STRING:
    ( i4 H) s! w. O& `8 M' B$ u
  1611. .BYTE $8E,$98,$80,$9E,$99,$80,$9D,$96,$80
    , c. s  W! l" U# u( t

  1612. - a4 E, Q2 z% v7 o) [  }; A/ g# s6 L" `! o
  1613. BULSEL_LF_STRING:
    ( n/ K/ _/ h# |: ]* y
  1614. .BYTE $96,$90,$80,$9E,$99,$80,$9D,$97,$804 i9 r. N+ k5 c3 f. p

  1615.   D1 M# }+ z; ^2 i$ a
  1616. BULSEL_RG_STRING:
    1 T9 u5 j9 a" j# P* R$ u
  1617. .BYTE $9C,$91,$80,$9E,$99,$80,$9D,$90,$804 q" P3 S) U: v

  1618. ' @7 ^3 {" [+ r% U, Z0 a$ c0 {
  1619. BULSEL_B_STRING:
    . O: x! h1 u# t
  1620. .BYTE $80,$8C,$80,$9E,$99,$80,$9D,$98,$80
    3 P  U3 |8 w. L, a# H( G: @
  1621. : W. X% ~( j+ w8 Z& D
  1622. BULSEL_A_STRING:
    - q1 A. g0 C2 P( ?
  1623. .BYTE $80,$8B,$80,$9E,$99,$80,$8D,$99,$97,$97,$99,$98,$80,$9D,$9A,$8F,$8F,$8E
    1 O& E" ~, `% V$ U3 b* t
  1624. , G( }4 s& Y9 f* x2 n

  1625. * b1 U0 Y0 ]1 M! k
  1626. BULSEL_UP_WRITE:
    : L. I+ q; k, |* k4 ]
  1627. LDX #$000 p: w! u5 f5 P. |+ b
  1628. BULSEL_UP:
    8 q7 L9 S  n' v
  1629. JSR PPUADDR_PROCESS7 A' l0 E0 ~% S" g% \/ x1 h% w2 k
  1630. LDA BULSEL_UP_STRING,X
    % |/ @9 [( r, N5 O' p* U
  1631. STA $2007
    6 j4 C8 ?: H( N
  1632. LDA #$00
    ! i5 L2 G/ C9 a+ E: ?
  1633. STA $2000
    / h9 O9 j1 y# N: T( z1 T, a
  1634. INC $BA
    ! Q/ d" w1 P% w( I) g+ E
  1635. INX% Y6 b4 ]! K; F( f* t
  1636. CPX #$090 m! U% b5 z7 R
  1637. BCC BULSEL_UP
    8 Y" o& w$ j7 y5 v+ G
  1638. RTS. c# b( F3 o2 r* i0 d' _8 V( ]
  1639. BULSEL_DN_WRITE:
    ! C; z* _6 G9 d2 V$ H! c
  1640. LDX #$00' `* _- b) R6 T+ S
  1641. BULSEL_DN:4 A# t: z# d- C; Q* r
  1642. JSR PPUADDR_PROCESS
    , R* a  _# v! ]
  1643. LDA BULSEL_DN_STRING,X
    : |" Q8 j5 o0 t1 k
  1644. STA $2007! l' [, X! H8 }
  1645. LDA #$00! U- f& b/ u4 C% b& j6 d
  1646. STA $20008 H5 w: Z' d1 ~' w
  1647. INC $BA# g) j. z/ V4 Z* q  ]- p
  1648. INX
    3 @! [" \! u+ |" L4 K
  1649. CPX #$09
    # K# O- _# q2 v" `# b
  1650. BCC BULSEL_DN
    1 x( V8 k5 \! b$ a$ d7 K: k
  1651. RTS
    9 G$ U- D+ R3 Z8 y. N2 m
  1652. BULSEL_LF_WRITE:/ T3 [0 M- }2 g  k: X* C. g
  1653. LDX #$00, D2 O5 |% @2 H1 ^+ V
  1654. BULSEL_LF:
    . G# x" e+ Y* d2 d, H1 Y' A
  1655. JSR PPUADDR_PROCESS: ~* L* k& s) r' w7 c8 B5 r1 O
  1656. LDA BULSEL_LF_STRING,X
    3 ~5 f, Q( e  D; v  k
  1657. STA $2007
    . {( \  P3 y* v5 u( t' V" m  f
  1658. LDA #$00! J8 D/ m. ?# C8 E
  1659. STA $2000( H$ U9 V! `" T
  1660. INC $BA
    # g) K. L. K+ V  v5 D
  1661. INX
    % q% L2 E# @5 k: y" n" g
  1662. CPX #$09
    ' r, i# M5 V; Q. ~& w
  1663. BCC BULSEL_LF
    # i' K7 |  k0 e9 x# j# ]
  1664. RTS  J" C/ v& F, L( W. Q, y4 Q4 z) ]9 }
  1665. BULSEL_RG_WRITE:
    ; |; l% g# J0 u0 [% E
  1666. LDX #$00& X3 X0 Y5 @1 }  u" m" n
  1667. BULSEL_RG:6 ?" l( Q% d# d
  1668. JSR PPUADDR_PROCESS
    6 v6 |  y5 U3 t
  1669. LDA BULSEL_RG_STRING,X0 ]) I  ?! |7 ]" l
  1670. STA $2007
    * h, m. t4 o$ w4 `. Q  m3 Q
  1671. LDA #$00' @, J! v0 [$ H) G! y$ Z3 J
  1672. STA $2000" H+ x/ K& V9 w7 W
  1673. INC $BA" [3 V- L4 {1 |/ u: q4 e! R+ `
  1674. INX
    4 K7 P; c; ?; ?: I% ^: u- n6 l
  1675. CPX #$09
    2 h4 p" k' h) o/ C3 x! L/ o
  1676. BCC BULSEL_RG" p* `' W: n, a5 y$ {1 S
  1677. RTS9 \. J- [. j! Z5 |
  1678. BULSEL_B_WRITE:
    ) P: p5 E- T! _2 Y, D3 m
  1679. LDX #$00* w5 d: x" a- R
  1680. BULSEL_B:: V7 T! }; C" c+ |$ z2 u
  1681. JSR PPUADDR_PROCESS: O8 B0 U0 d; a# e7 P
  1682. LDA BULSEL_B_STRING,X
    7 I7 q, t' W  e. m
  1683. STA $2007  Q, {. y( |' y8 f
  1684. LDA #$00
    + X6 \' {5 D) o; ^) o; {  P
  1685. STA $2000% t' V, [  M8 }* B- O7 Z
  1686. INC $BA
    7 t% W! _- L% [$ ~
  1687. INX, _7 S7 o. ~8 ?% I+ B+ p7 \
  1688. CPX #$09. h0 `0 x& J: [( s5 N/ T" W6 y
  1689. BCC BULSEL_B1 }, \/ w9 f6 w  D) b
  1690. RTS
    4 J7 X# u2 d9 H1 b
  1691. BULSEL_A_WRITE:
    - s# B6 f# \! c$ a/ v! n9 R
  1692. LDX #$00
    5 m/ b6 u4 D* b0 p) C! C" ?6 K
  1693. BULSEL_A:* V0 H; ]! O/ U! l9 C
  1694. JSR PPUADDR_PROCESS
    $ A( V- ]! O5 ]  S, ^& k4 i
  1695. LDA BULSEL_A_STRING,X( l! c1 g( R- p, \
  1696. STA $2007
    0 U9 r' K+ J. ^. d
  1697. LDA #$000 o7 _% _# M3 L$ F
  1698. STA $2000. K* \4 |' Q- p3 G
  1699. INC $BA
    7 X+ J0 O* |  H+ t/ D
  1700. INX
    / D$ R8 w, g$ r
  1701. CPX #$12: T. ~) q* T3 b6 ^4 [& O- N' W
  1702. BCC BULSEL_A
    : z' N. U3 x( {% n
  1703. RTS
    ' [) |5 s0 Z( q

  1704. + ^0 F. ?, o7 @2 X1 P
  1705. ! v8 h# K+ z: W  n" [" K$ V8 w% ?% g

  1706. - s8 Q+ ~  X7 O7 o% E/ u
  1707. BULSEL_PPU:: D+ e  A: S( B# h: m* q; X" e4 @: \
  1708. LDA #$6C* {& N' H. c. }& [9 p2 H
  1709. STA $BA+ }5 u  b* E: K0 ]' B/ G5 J
  1710. LDA #$213 Y- U. ~' E& O( I. z" |
  1711. STA $BB
    / s" N; w8 K6 u, I/ M
  1712. JSR BULSEL_UP_WRITE
    0 K: `$ `. Z# m+ n- l- ^& U% R8 n
  1713. 3 u- Y& n* _6 n" f! e# Z- A0 n
  1714. LDA #$AC
    0 r# e& L/ D3 C  l9 S  q
  1715. STA $BA0 `: Q1 y' L, t- T' v
  1716. LDA #$21: j& n; {% S& ?/ D. |5 d
  1717. STA $BB
    8 b0 l) F* z7 f. d) _9 R
  1718. JSR BULSEL_DN_WRITE8 p4 d' J0 M/ e& Z+ A( j) @, h2 Y. W

  1719. $ ]6 E5 X" G1 |3 {" f9 K; x0 r" e
  1720. LDA #$EC  x2 D* E4 r+ m9 F
  1721. STA $BA5 Z$ T, H2 Z$ |# C" q
  1722. LDA #$21
    7 o5 W2 b  t8 P5 ]; ~
  1723. STA $BB( y3 }( r6 f' {$ m& _( i: z# n
  1724. JSR BULSEL_LF_WRITE( y8 F. u1 {4 |+ t$ ]
  1725. 0 s/ t( R  [2 _; E% W) I; V# B  L1 O
  1726. LDA #$2C; n& [9 |6 {+ w$ j
  1727. STA $BA5 H% A# E0 w; j! J- k8 Y$ d4 d
  1728. LDA #$22
    ! S9 E+ n6 ~: G7 q$ f$ M
  1729. STA $BB# [: b$ j' C# C* h0 B4 s) j9 S% \
  1730. JSR BULSEL_RG_WRITE
    % u. M: {* L" W1 {5 g5 B  B
  1731. . k8 M/ ]4 n; c3 M' L1 m" r: o7 }
  1732. LDA #$6C0 I1 n8 w' I4 v3 p6 }, e3 o* P
  1733. STA $BA
    , u, E( Z: N+ m0 y
  1734. LDA #$22
    ' o/ s: I6 g2 u' k
  1735. STA $BB
    & f, x* P+ v# t5 z. y, M3 l
  1736. JSR BULSEL_B_WRITE
    ! o8 z  `/ P! I: ~0 h4 W
  1737. , u4 G! R6 s  O( g/ {! j: D% [
  1738. LDA #$A7, K" J" ]4 k0 e
  1739. STA $BA! d! T) y$ Y$ j! [2 y
  1740. LDA #$223 M/ W9 f4 z$ g4 {% M
  1741. STA $BB& S* V3 u* X3 Q
  1742. JSR BULSEL_A_WRITE" c, {& d6 H  F
  1743. RTS% G+ `# d& I  U! A
  1744. # d' `; n8 @7 R
  1745. , I4 f4 J% p7 ]1 R

  1746. / x' ~, ]# M3 _9 L
  1747. UP_STRING:1 D, E; f4 H! T8 k
  1748. .BYTE $9F,$9A,$80+ m  H. c- i3 M' Q! j& f7 I; d

  1749. 1 S- G# t/ j( r4 Z4 \
  1750. DN_STRING:
    ! t1 g+ O  R. l, d# p
  1751. .BYTE $8E,$98,$803 \: A" S$ L8 n7 Y% K" L

  1752. ' W" ^9 E6 I( p, H4 U
  1753. LF_STRING:9 z# x; ~- X/ w
  1754. .BYTE $96,$90,$80
    - i' s6 D1 A9 ]/ A

  1755. ; ?9 u! W; S  b& @$ v5 R
  1756. RG_STRING:! V6 c. R% u% ^  f, H& t6 k" Z
  1757. .BYTE $9C,$91,$80
    # X) ]* k! N# V/ h* o! r- o$ S6 r
  1758. " W. R5 j0 y) i& e
  1759. B_STRING:
    2 s2 p, W1 B8 r# s1 Y& u; e
  1760. .BYTE $80,$8C,$80
    . C" O5 Q! Z7 _# }: d5 t/ `
  1761. 9 R7 `" y. o3 q: M: q
  1762. A_STRING:
    3 f8 t. i% M* E, K
  1763. .BYTE $80,$8B,$807 t! M3 u/ x+ K( A5 R

  1764. & y+ W+ c% A; ^4 {; E! O

  1765. ( K  F3 j8 D+ L- ^" {
  1766. UP_WRITE:5 a* V; B8 ~  p; B5 d- J' a  Z
  1767. LDX #$006 s/ G/ q$ ]; a0 C- H
  1768. UP:
    3 c9 |9 @$ Y) w& ]
  1769. JSR PPUADDR_PROCESS
    % d! U2 d( Y: }, h
  1770. LDA UP_STRING,X
    8 c% v" I$ `. C
  1771. STA $2007
    & x& A0 U4 G) h+ Y0 A2 T
  1772. LDA #$004 [, @5 _/ Z0 e$ @$ V$ a
  1773. STA $2000- k( C5 y* j7 e- [/ O% i
  1774. INC $BA8 ?# v7 ?" J4 j6 _
  1775. INX: k7 N" s4 Q' m& b/ A, k
  1776. CPX #$03
    1 q4 {: V0 h/ ]) R" @/ {/ H
  1777. BCC UP* _5 H% @( {! L0 ?- L
  1778. RTS
    $ a: h8 U. U3 R- }' d% W
  1779. . y! U5 {; x" d5 y/ I& M- E
  1780. DN_WRITE:' ?9 h# P* @7 N$ y
  1781. LDX #$00
    . M* O6 j# g* W% j
  1782. DN:
    & N' ^$ m0 D6 H2 ^/ P7 D
  1783. JSR PPUADDR_PROCESS# b, l4 Z9 }: h/ d
  1784. LDA DN_STRING,X
    ! Z) D7 T/ n4 D8 y6 k
  1785. STA $2007
    " M- _) W8 f+ m4 H' s
  1786. LDA #$00+ a9 p  a& M* R( W! d& X
  1787. STA $2000# H! v' c' c( O  n" C
  1788. INC $BA
    2 V. Y& K* k$ a4 c; B
  1789. INX
      W5 T6 w6 H0 c% d
  1790. CPX #$033 l% w4 B( ?4 {* j0 w6 \# ?. ]8 q2 v
  1791. BCC DN
    . ^" B1 t% U/ U  w& k
  1792. RTS
    ( ~( D" ^; P' }
  1793. 1 B) f4 i+ R/ H5 ?9 M: B
  1794. LF_WRITE:
    * ~/ K+ n( }, A7 C  ~. U
  1795. LDX #$005 q0 z6 T8 H7 a, F6 H, A
  1796. LF:
    # c0 \4 A4 j6 n# K
  1797. JSR PPUADDR_PROCESS- Y: A  A( ~0 k2 \
  1798. LDA LF_STRING,X/ {  Y* q$ a( W) c% [- c( o
  1799. STA $2007
    6 e" e2 a! {, {# o* G7 X
  1800. LDA #$00
    / r5 E+ m/ u6 v) F5 e" `+ ~
  1801. STA $2000! v: ]. [5 H& e7 J- T
  1802. INC $BA% {# W- u& c3 g! n' r9 F& V' C$ V
  1803. INX
    . N+ S* j( s! M0 r' L
  1804. CPX #$03' m' F8 X# M0 [( a# Y0 }2 Q7 E
  1805. BCC LF, g, E6 t4 M. J; r. L( s/ P: ^
  1806. RTS
    * q1 j) K/ g, @2 Z

  1807. ' K! F" `( g  P5 H% G: j7 X% U' k! P
  1808. RG_WRITE:
    " \6 H9 X8 ~- |9 {/ |" W9 c
  1809. LDX #$001 b2 w, f1 i( h3 c- L
  1810. RG:
    4 c2 u! p1 A7 Z% R+ E* ]
  1811. JSR PPUADDR_PROCESS
    % W5 @6 c* j. A7 A
  1812. LDA RG_STRING,X' _% n- v9 c& a0 ]6 ]# g
  1813. STA $2007& D* T+ u! f( k9 O' [- `. g
  1814. LDA #$00
    ! Y8 ]* t7 J- s/ F+ y& ]3 |
  1815. STA $2000! z8 b) N0 E+ @  x
  1816. INC $BA/ m% b( d8 n4 \# u9 G2 N0 W
  1817. INX, Y) Q7 R! B4 U( q( j) P
  1818. CPX #$03
    " f+ m. w& i+ @/ W
  1819. BCC RG
    ) y* f# |3 \* q+ k6 @1 U
  1820. RTS* T% r! I% R! i" x6 b. w% J( w7 z+ s9 s
  1821. % u# W" p/ q7 W+ i
  1822. B_WRITE:
    $ V, Y% I: Z1 G0 z5 r; W, H6 D% ]
  1823. LDX #$00/ r2 n0 f0 Q4 g* `" k$ E
  1824. B:# j6 u- R" B3 H) k, Q1 Y
  1825. JSR PPUADDR_PROCESS, A+ Q/ k; }3 s- }6 C8 }% W
  1826. LDA B_STRING,X+ Q  `" b: P# H5 Y# X, l
  1827. STA $2007
    8 q% n6 p5 M) E! \; o8 U, Z
  1828. LDA #$00/ ]  x9 L( W. c/ F
  1829. STA $2000  [$ F. r2 Q  r
  1830. INC $BA  A0 d# B2 P( C! H! O3 a
  1831. INX
    " g* I+ J( T9 B( T$ P. p5 m
  1832. CPX #$03
    " |2 Y' [# X/ a- H: T) t& E$ C
  1833. BCC B9 L# |* [  c# S& g: |
  1834. RTS
    ' l( j( j9 J' q$ ?% C+ K* U% G* r

  1835. ( h: \2 O4 [4 r& ?, l* z- ?
  1836. A_WRITE:+ `. P: w$ I! B9 `9 G0 g  Z, o# I
  1837. LDX #$00. r6 W- _3 \# r# Z! }# O
  1838. A:
    ( a; V: p, _4 Z7 w% G
  1839. JSR PPUADDR_PROCESS! ^* F) [  G9 b$ F" |
  1840. LDA A_STRING,X
    , |4 m9 S0 f  i
  1841. STA $2007+ ^5 v2 T+ g) c/ D3 `1 F
  1842. LDA #$00
    + G% z% e( J  u( e
  1843. STA $2000+ y6 C& a: Z  ?! I
  1844. INC $BA
    & I# c& m/ C! ]$ L+ U, L
  1845. INX
    5 L( x8 r% M5 Y$ T# K
  1846. CPX #$03
    / K4 d2 R$ q( P9 {8 ~7 W, ^
  1847. BCC A2 z9 r( j: q' h2 M
  1848. RTS1 F6 Y. Y7 l) e; ^" e; {) J
  1849. % k8 x* l; o  ]( g
  1850. ( o6 X8 U1 e% U+ d, F
  1851. UP_PPU:, }. A: o$ P- d. }9 U1 m  q3 t
  1852. JSR UP_WRITE
    $ q0 T* F' U) P* I1 |
  1853. RTS
    ; p0 O2 P2 D# t* f; B
  1854. * x% k# E8 w$ _4 S# v5 F
  1855. DN_PPU:
      L# M1 x6 e! g! N8 [" F
  1856. JSR DN_WRITE
    8 O3 X+ ?$ l! s' P( y
  1857. RTS
    : f/ {# c6 `/ g% a  f$ B

  1858. 7 d0 H5 n$ ]3 s3 V
  1859. LF_PPU:
    ! t" n/ E$ \7 ]
  1860. JSR LF_WRITE9 m) W# J. T; [/ b
  1861. RTS2 ~5 D; Y+ p6 P$ p
  1862. 4 v5 u7 E- A( b' B5 o
  1863. RG_PPU:) P# W9 I! h! v1 @8 y) P
  1864. JSR RG_WRITE, ?+ i" D2 W! @3 ?, g6 [
  1865. RTS
    + |* j/ H9 H8 s6 F9 t% F

  1866. " ?' D- {" ]. n1 {2 M
  1867. B_PPU:9 A; n" u5 t4 z
  1868. JSR B_WRITE
    6 l( t8 c) C- C# l
  1869. RTS  z: v+ q: f) M
  1870. ; `# I( A8 d$ {6 B' L3 r3 U8 P+ P
  1871. A_PPU:+ H9 V# K) J* O  I' B! p" b
  1872. JSR A_WRITE" [5 }, I' J) _- G' H2 ~$ |
  1873. RTS
    8 w! a4 g( Y  Y; r

  1874. + r8 O/ W7 D: d
  1875. * r# X! t. ]2 n
  1876. PAGESELECT:/ {2 s1 a" K" W3 h' O
  1877. PAGE0:; K5 k" y; p" Z$ c
  1878. LDA $07AA) k) C- `. n$ U9 X1 S
  1879. CMP #$00" w3 D! `5 N2 ^4 ]
  1880. BNE PAGE1
    ( U0 f( N# H- J( f
  1881. ( t$ y4 Z! ^1 p3 w9 V. `
  1882. PAGE_00:% ~" f2 ~  B/ Y; U
  1883. JSR BULSEL_PPU
    1 M9 j8 L( M% C/ h; T2 d
  1884. RTS
    1 c# E& T4 v9 O# @! l( }) u

  1885. 6 D" _6 d0 \( l8 O1 \( `
  1886. PAGE1:9 f" D* K- B1 ^3 {% |8 U9 ]
  1887. LDA $07AA& E9 i  t: e' \* A
  1888. CMP #$01
    / n, n( A1 r" `
  1889. BNE PAGE2
    & T! |$ O/ b. o3 B) B) C

  1890. + _5 K9 w1 B- n+ v! l2 n
  1891. PAGE_01:
    $ {5 C; u+ X; D* ?
  1892. JSR INVINC_PPU
    - A, i9 @. r, n+ O4 k
  1893. JSR LIFELC15_PPU
    3 E- o6 M. ?* r' B2 T  ~
  1894. JSR DOUCON_PPU
    9 ~7 f6 n9 U/ Q. m  z& d" f6 u1 i
  1895. JSR KILLON_PPU" H) B, `8 x  Z1 X+ M& L
  1896. JSR SKYFLY_PPU
    * v- P# W, z% v) K0 M
  1897. JSR LIFELOW_PPU8 Q8 ^6 e4 e6 ^$ U2 z
  1898. RTS( f: s1 d' H* K- Y; a+ k% {

  1899. 3 q2 o, u3 R! ]# E  C
  1900. PAGE2: 5 O7 b. i; X2 l0 }6 \
  1901. LDA $07AA
    ) p5 J# A0 b$ Y+ a: P) \/ }
  1902. CMP #$025 a; ]! G5 A; L, I
  1903. BNE PAGE3
    * f/ `9 \( x$ M9 b7 P

  1904. & L( G' p6 M! o0 m2 {8 |
  1905. PAGE_02:
    # e9 }) s& }2 i, K
  1906. JSR BULADD_PPU- K+ }# I' |+ B4 _
  1907. JSR SKINGE_PPU7 |, V5 Y9 X8 {: Z* d( p+ C
  1908. JSR BULMIX_PPU' w) G0 F% j5 t+ t
  1909. JSR ENELOC_PPU. R7 v* x4 a' C1 o0 l' i  v$ {* |
  1910. JSR FOCFUL_PPU* l! B. `6 f; r7 \8 p
  1911. RTS
    8 Z4 o7 D- b  j3 j/ w* b

  1912. 0 R& Z! u1 h' r. O! u
  1913. PAGE3:
    : u- i# i/ E" ], \4 {+ t( }0 g
  1914. LDA $07AA
    ; T0 Y0 P8 h1 K; A# v5 u6 H% q% {
  1915. CMP #$03
    ' `$ A& u: f6 X9 O& p
  1916. BNE PAGE4
    ) J! J- c5 l0 \- [6 C6 O

  1917. % \/ p7 M+ }. n3 K8 }+ u0 k  T
  1918. PAGE_03:/ C+ ~7 b- {( C: w$ _0 P
  1919. JSR BULCON_PPU
    % y% f' Z0 c& \) B* W6 o# Z
  1920. JSR SPEBUL_PPU
    0 N9 z# R- m* G% A) g, \$ o$ p( Y
  1921. JSR CLEALL_PPU" R4 a: r  X$ L( f: J
  1922. JSR HARDMODE_PPU
    8 i: Z7 c, i+ D5 l
  1923. JSR B_TO_JMPSTG_PPU) y- e! a" o+ G" n* G
  1924. JSR A_TO_PLAMOD_PPU
    * ~- T- ~) B" z
  1925. RTS
    - U4 b; @3 g: R* W6 v; v7 }

  1926. $ O# W/ F. S; j6 j' w$ m/ ?4 g3 M
  1927. PAGE4:
    / A) X2 Y2 v# f- f  |) q
  1928. LDA $07AA
    2 S1 Z. `' f9 c9 A4 n( r
  1929. CMP #$04
    & a+ {' T7 H! g3 t* _/ d6 {
  1930. BNE PAGERTS
    - z- Q! Q$ v- F. R$ W( V
  1931. ; q% @+ t2 T3 C  _
  1932. PAGE_04:/ T1 Y! K0 ]' r" _  M* K* M
  1933. JSR MOVSPE_PPU/ M( ]# r, N- _7 _" i7 J& O. ?
  1934. JSR UNLJMP_PPU
    4 [$ a0 }7 L" Z0 E6 V
  1935. JSR DESTRO_PPU1 q( k* e; w* H( D
  1936. JSR EQUBUL_PPU
    5 E7 f" ]0 A5 ~0 w: u% T+ p
  1937. JSR MOVESPEED_PPU
    . P$ _- I, p0 x" [" i! o5 F4 H, ?
  1938. PAGERTS:
    2 @5 R& P+ q2 k
  1939. RTS
    + b6 i7 x; _) z
  1940. $ a% a2 h5 u- _  O  e1 {
  1941. + q* \. f5 m: j. _) ]7 b0 s
  1942. PLAYER_01_STRING:3 H" x: c( f, C6 b
  1943. .BYTE $9A,$96,$8B,$A3,$8F,$9C,$80,$81,$82,$80" W7 w& o) P7 T3 }
  1944. 3 d% W3 Y% v6 c2 L7 Y' g" k+ d
  1945. 0 M0 _4 \; c4 P
  1946. PLAYER_01_WRITE:
    4 H& g& V7 K9 e% M6 I4 H; w
  1947. LDX #$00) s, M5 f6 i0 h4 Z( N( `
  1948. PLAYER_01:
    1 z7 X2 r' d! S/ M& {3 a
  1949. JSR PPUADDR_PROCESS
    2 B+ ^8 u( O( J1 \* |  X
  1950. LDA PLAYER_01_STRING,X
    7 P; l: g+ D0 ]
  1951. STA $2007/ d# J$ T% a, x. }+ N' c
  1952. LDA #$00  L# Y9 k- I8 U4 Y
  1953. STA $2000
    1 T8 v# a4 p9 p: T! @9 b0 W
  1954. INC $BA) }; p6 T( _& U# a7 l' h
  1955. INX
    " i, b% S, t. c' ~! W
  1956. CPX #$0A$ L  B! x$ W& t2 Q6 B
  1957. BCC PLAYER_01
    # O9 ]" g) B6 k( k
  1958. RTS: n3 [" S7 \9 z3 U& z

  1959. ( D& `: A1 A, r- y! a3 Y# m
  1960. PLAYER_01_PPU:/ @5 j+ |1 Q' L# N
  1961. LDX #$00
    6 M9 C7 ^! O+ N9 O- y+ m  ~
  1962. LDA #$643 i* ]& H8 V$ a) n7 F$ ^
  1963. STA $BA% P' I4 _( U4 \& U0 ^5 i- G
  1964. LDA #$20$ s( @  @" `# z/ u- g# f7 ?
  1965. STA $BB
    . q! r+ H' A6 l. j6 ?
  1966. JSR PLAYER_01_WRITE
    " s' d3 z- |- s1 B& m+ J- |7 W9 i
  1967. RTS2 K6 i6 {8 J6 K. O* G

  1968. ) L' c2 ?# e! H& C) g8 x/ o
  1969. PLAYER_02_STRING:: ~( ^3 O" I9 D& L: a* {. D
  1970. .BYTE $9A,$96,$8B,$A3,$8F,$9C,$80,$81,$83,$80
    ; Y& P- Y; \. ?+ Y% T/ A* H9 ~  W$ ~; C" T

  1971. 9 Y6 n# b) T* O& G- s" t

  1972. 2 g; A  D% Y* }" b9 i
  1973. PLAYER_02_WRITE:
    9 P7 i- O. W2 B8 l+ I, i
  1974. LDX #$00" L0 z6 _& v5 M  T3 {
  1975. PLAYER_02:9 M& o; J( }+ W9 l; b' F
  1976. JSR PPUADDR_PROCESS  s) Q, A5 l: i
  1977. LDA PLAYER_02_STRING,X
    / E" \7 z4 G( _4 m; B
  1978. STA $2007
    8 ^* d; k& E! i2 m% }5 c
  1979. LDA #$006 g0 @' ^* [" z7 G2 j6 G" l
  1980. STA $20007 A4 I! A8 H. D  J
  1981. INC $BA
    ; Y1 ]1 H- R- N6 @( _
  1982. INX
    , s( p8 o, N9 Y: n: a
  1983. CPX #$0A
    ( M: Y2 K; s9 |. r; N- j+ K/ F
  1984. BCC PLAYER_02
    ! H2 ]+ u+ y0 {1 t
  1985. RTS+ A4 ~1 {# Y$ H+ m( z6 q6 n
  1986. # X( k$ @$ k. {# H8 \( t4 E
  1987. PLAYER_02_PPU:1 z5 A' u2 H2 |
  1988. LDX #$00
    ; z2 a% B9 H. y) O- t. h- v- B8 D( l
  1989. LDA #$73
    2 P9 ?- |! b7 W$ O! y: L7 u
  1990. STA $BA
    ; B* U0 U- a& c
  1991. LDA #$20* e* W' }- t" l, I  F
  1992. STA $BB
      j/ F* C0 A) ]
  1993. JSR PLAYER_02_WRITE+ |( {" I& H3 x7 Y1 J/ v
  1994. RTS0 V: C& S2 Q; R" @/ N- o
  1995. 6 n/ j3 v$ ?' e1 ^1 Z, ~
  1996. PPUADDR_PROCESS:
    + P& @" y' e" [) [& l. q, u9 T+ ~
  1997. LDA $BB
    ' O  m& o  W- C4 i: b8 f( H1 q2 B
  1998. STA $2006" `; @6 M, y2 a  x# U2 W& g
  1999. LDA $BA
    0 A- ]2 K. z$ t4 C& v: f: [! x: W
  2000. STA $20066 a+ J* V+ j( }- l) R
  2001. RTS
    3 z9 K- e. s$ n' r9 L3 K  r! F
  2002. / b9 N6 q3 {: A. Q. o
  2003. ! ~' p& m# D- D5 S- l4 q

  2004. : P+ x+ v* [  _( p. y0 i
  2005. ONE_STRING:
    ( Q3 G0 l4 W* o# \0 d  Y
  2006. .BYTE $99,$98,$8F
    . Z  c! i0 I+ w# q/ s
  2007. 3 C3 ^, S  K5 T7 Z
  2008. TWO_STRING:
    % @/ N, ?* _4 U7 N5 n1 N
  2009. .BYTE $9E,$A1,$99
    ' b1 b* |$ i: n# A- n  f( M

  2010. " [! }4 G6 K% L9 o6 F7 i. O
  2011. ONE_TWO_PPU:) F& `3 k2 g4 M5 t9 i- j
  2012. BNE ONEWR0 i( E% P, h5 V% f0 r) b7 U
  2013. TWOWR:
    ! T* c0 x) T7 t7 m6 |* R
  2014. JSR PPUADDR_PROCESS
      D6 K0 H0 w8 k* i& q  M/ D; ]
  2015. LDA TWO_STRING,X" ~( _# N3 ]5 }
  2016. STA $2007
    4 B0 J5 q) X' ]1 U% }
  2017. INC $BA
    ! W0 ^8 I$ A* H" }
  2018. INX8 J8 w  F6 Z2 B. w8 {4 K) v
  2019. CPX #$03
    + c5 L2 L( f/ M; v" x2 E% r
  2020. BCC TWOWR
    - ?7 a7 G  r/ l+ ]
  2021. RTS! c6 I# j. p, H8 i" R# K  Y* m
  2022. ONEWR:1 t2 E+ w# k  e3 r! T5 d
  2023. JSR PPUADDR_PROCESS6 C- y9 L: N8 V
  2024. LDA ONE_STRING,X
    , B4 L6 j, }( Z" K1 a( y% W- ?0 d; {
  2025. STA $2007
    & R% Z; F; U& U( \
  2026. INC $BA8 n" V0 v4 u( N& E! j
  2027. INX" i5 X7 [* x# N$ C( `8 [. y
  2028. CPX #$038 [, @/ n+ @1 J# |% k" `5 F
  2029. BCC ONEWR
    9 @( D" B  q( M+ R( p4 a
  2030. RTS
    / x7 Y' {% G6 O9 l

  2031. 8 p7 u6 F7 V5 m/ q7 [
  2032. MOVESPEED_STRING:$ S  B9 X' |7 @
  2033. .BYTE $97,$99,$A0,$8F,$80,$9D,$9A,$8F,$8F,$8F,$80
      G- B5 v' Z% t& H8 O

  2034. , m2 R0 l* i6 ], T% F# H) h9 e

  2035. * f2 H2 m4 ^  H) F
  2036. MOVESPEED_WRITE:. a9 V& l3 t1 J4 g: [4 G
  2037. LDX #$00
    ; ~, u2 \& ?$ U+ k
  2038. MOVESPEED:% S$ D; O2 g+ B
  2039. JSR PPUADDR_PROCESS: v! S& {) ~8 d7 v
  2040. LDA MOVESPEED_STRING,X' e2 \: i& S* }$ {1 h2 d3 c
  2041. STA $2007
    - y; l  t& c) ^+ o
  2042. LDA #$00
    ( ?1 S! g3 q( o" U2 y
  2043. STA $20008 G# ~; }5 t% R3 _) R' N9 x. L6 l( \
  2044. INC $BA
    8 X' s( y7 s  D  e) E' V
  2045. INX
    $ [9 ]% z! g+ N9 X* [
  2046. CPX #$0B5 B2 q3 N/ H0 s
  2047. BCC MOVESPEED
    0 l+ y. A) m& H1 {& q- H6 s
  2048. RTS& A5 V' B" M+ P5 ^) f+ N

  2049. " }7 Y$ `) Q: G3 a
  2050. MOVESPEED_PPU:, @- t# j5 U, U2 {; I
  2051. LDX #$00
    ; N* C2 l9 O: p& q* e' O+ N4 ~/ n
  2052. LDA #$AA
      ^, n' h$ w: B( R5 W2 j
  2053. STA $BA' C+ O) ^' H. J$ f& w! `
  2054. LDA #$22- n9 N! N! }0 ^2 K3 L6 r9 ]
  2055. STA $BB1 m& j9 F5 p2 S
  2056. JSR MOVESPEED_WRITE/ g+ C/ x! f3 m
  2057. LDA $7003  g0 {, t; B: M- q& E% ?
  2058. CLC' B; y/ c$ R( x
  2059. ADC #$827 i4 p. @0 R3 y9 G  s
  2060. STA $2007
    & V6 P: a* G- b2 k, ], [( Z& z5 h
  2061. RTS
    & n' c4 e7 z' A/ E
复制代码

本帖子中包含更多资源

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

x

评分

1

查看全部评分

[发帖际遇]: yandagui辛苦发帖,赚了 6 个 柠檬. 幸运榜 / 衰神榜

签到天数: 549 天

[LV.9]以坛为家II

发表于 2016-11-20 00:59:08 | 显示全部楼层
真是太強了,感覺樓主可以直接當D商了.
[发帖际遇]: hanjungex 发帖时在路边捡到 3 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜

签到天数: 7 天

[LV.3]偶尔看看II

发表于 2016-11-20 01:30:16 | 显示全部楼层
不错谢谢分享!
[发帖际遇]: huanhuan05花4 个 柠檬买彩票,血本无归T_T. 幸运榜 / 衰神榜

签到天数: 2060 天

[LV.Master]伴坛终老

发表于 2016-11-20 03:01:53 | 显示全部楼层
这个修改好厉害、、、、
[发帖际遇]: liujunbtx为灾区捐款 3 个 柠檬. 幸运榜 / 衰神榜

签到天数: 3059 天

[LV.Master]伴坛终老

发表于 2016-11-20 08:57:10 | 显示全部楼层
非常强大的修改!
[发帖际遇]: afti花16 个 柠檬买彩票,血本无归T_T. 幸运榜 / 衰神榜

签到天数: 852 天

[LV.10]以坛为家III

发表于 2016-11-20 11:17:32 | 显示全部楼层
好东西,收下了
[发帖际遇]: kexiao1223扶老大爷过马路,警察叔叔奖励kexiao1223 1 个 柠檬. 幸运榜 / 衰神榜

签到天数: 1279 天

[LV.10]以坛为家III

发表于 2016-11-20 12:03:09 | 显示全部楼层
太强了!佩服佩服!

签到天数: 2182 天

[LV.Master]伴坛终老

发表于 2016-11-20 21:28:21 | 显示全部楼层
这修改太全面了 ,
[发帖际遇]: 一个袋子砸在了 nmclib1 头上,nmclib1 赚了 2 个 柠檬. 幸运榜 / 衰神榜

签到天数: 135 天

[LV.7]常住居民III

发表于 2016-11-21 09:59:17 | 显示全部楼层
这东西找了好久勒,谢谢!!3 Q' X- V0 D; W6 k+ }
[发帖际遇]: wjb19780515 发帖时在路边捡到 5 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜

签到天数: 2366 天

[LV.Master]伴坛终老

发表于 2016-11-21 12:40:20 | 显示全部楼层
感谢楼主分享
[发帖际遇]: 一个袋子砸在了 tariq017 头上,tariq017 赚了 4 个 柠檬. 幸运榜 / 衰神榜

签到天数: 2183 天

[LV.Master]伴坛终老

发表于 2016-11-21 19:36:29 | 显示全部楼层
感谢楼主分享
[发帖际遇]: datone辛苦发帖,赚了 1 个 柠檬. 幸运榜 / 衰神榜
头像被屏蔽

该用户从未签到

发表于 2016-12-2 15:48:07 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

签到天数: 348 天

[LV.8]以坛为家I

发表于 2016-12-7 15:53:12 | 显示全部楼层
谢谢分享

该用户从未签到

发表于 2023-7-28 22:49:06 | 显示全部楼层
看上去好复杂
回复 支持 反对

使用道具 举报

签到天数: 15 天

[LV.4]偶尔看看III

发表于 2025-3-16 20:07:05 | 显示全部楼层
谢谢制作,辛苦了
回复 支持 反对

使用道具 举报

签到天数: 790 天

[LV.10]以坛为家III

发表于 2025-3-16 21:54:53 | 显示全部楼层
謝謝大大修改及分享!!
[发帖际遇]: ray_juan 打扫环境卫生,被奖励 5 个 柠檬. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

签到天数: 37 天

[LV.5]常住居民I

发表于 2025-3-16 22:21:43 | 显示全部楼层
看看还能下吗
[发帖际遇]: zxnm1957花5 个 柠檬买彩票,血本无归T_T. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

签到天数: 201 天

[LV.7]常住居民III

发表于 2025-3-17 09:51:47 | 显示全部楼层
这样按到后面 似乎要头晕了~~哈哈
[发帖际遇]: 一个袋子砸在了 woshibabala 头上,woshibabala 赚了 3 个 柠檬. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

签到天数: 16 天

[LV.4]偶尔看看III

发表于 2025-3-17 15:36:20 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|国治模拟精品屋 ( 沪ICP备15012945号-1 )

GMT+8, 2025-5-9 21:56 , Processed in 1.108398 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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